`

文件上传的几种方式

 
阅读更多

后台Controller:

import java.io.File;
import java.io.IOException;

import org.springframework.stereotype.Controller;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

@Controller
public class FileUploadController {
	
	@RequestMapping(value="/upload", method=RequestMethod.POST)
	@ResponseBody
	public String handleFileUpload(@RequestParam(value="file", required=true) 
		MultipartFile file) throws IOException {
		byte[] bytes = file.getBytes();
		String originalFileName = file.getOriginalFilename();
		File fileToSave = new File(originalFileName);
		FileCopyUtils.copy(bytes, fileToSave);
		String filePath = fileToSave.getAbsolutePath(); // 返回文件的绝对地址;
		System.out.println(filePath);
		return filePath;
	}

}

 

前台页面上传:

index.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form method="POST" enctype="multipart/form-data" action="/upload">
		File to upload: 
		<input type="file" name="file">
		<input type="submit" value="Upload">
	</form>
</body>
</html>

 访问:http://localhost:8080/upload

在页面里即可完成上传操作。

 

使用curl命令上传:

curl -v -H "Transfer-Encoding:chunked" -F "file=@111.pdf" localhost:8040/microservice-file-upload/upload


上图表示上传成功,在工程根目录下就可以看到上传的文件。

注意:使用curl命令上传文件时,需要将目录切换到待上传文件的根目录(本例中的111.pdf文件在c盘根目录下)。 

 

 

 

  • 大小: 15.7 KB
分享到:
评论

相关推荐

    文件上传三种方式

    文件上传三种方式

    文件上传的三种方式-Java

    2项目为实现文件上传的三种方式的源码,详细说明见我的博客。 jsp_upload-servlet项目:(1).Jsp/servlet 实现文件上传 (2).模拟Post请求/servlet 实现文件上传 jetty_upload-springmvc项目:(3).模拟Post请求/...

    基于SpringBoot的文件上传系统,前后端分离,单文件上传,多文件上传,大文件上传,断点续传,文件秒传,图片上传

    采用前后端分离的方式进行开发,实现了几种常用的文件上传功能。 前端采用 vue.js + plupload + element-ui 实现了文件在浏览器端的发送, 后端采用 spring boot + spring + spring mvc + mybatis 实现了文件在服务器...

    上传文件的几种限制.txt

    以上代码段展示了文件上传过程中常见的几种限制及其实现方法。通过合理的设置,可以有效地防止恶意上传行为,同时也能提升用户体验。例如: - **大小限制**:可以避免过大的文件上传导致服务器资源耗尽。 - **类型...

    基于WWW文件上传的几种实现

    本文旨在介绍当前网络应用程序中常用的浏览器文件上传原理,并探讨几种实现文件上传的方法及其配置。 #### 二、文件上传的基本原理 文件上传功能的核心是通过HTTP协议将文件从客户端传输到服务器端。基于浏览器的...

    下载文件的几种方式

    本文将详细介绍几种常见的下载文件方式。 1. **直接点击下载** 这是最基本的下载方式,通常在网页上,我们点击一个链接或按钮,浏览器会自动开始下载文件。例如,`xiazai.aspx`可能是一个网页,用户可以直接点击...

    Post方式上传文件

    在IT行业中,网络请求是应用程序与服务器交互的重要方式,而POST请求是其中最常见的一种,尤其在处理数据提交和文件上传时。本实例主要聚焦于使用POST方式上传文件,这在移动应用、网页表单或者后台接口开发中非常...

    多文件上传 源码

    在实现多文件上传时,通常会涉及到以下几个关键知识点: 1. **HTML5的File API**:现代浏览器支持HTML5的File API,它提供了对用户选择的文件进行读取、写入和操作的能力。通过`&lt;input type="file"&gt;`标签,我们可以...

    ASP.NET Core文件上传与下载实例(多种上传方式)

    *** Core通过`IFormFile`接口和异步编程模型为开发者提供了一种高效、简洁的方式来处理文件上传下载的需求。通过理解`IFormFile`接口的使用、控制器与动作方法的设计、Tag Helper的运用、异步编程的模型以及文件系统...

    JSP同时选择多文件上传MultifileUploadDemo

    在多文件上传场景下,Flash允许用户一次性选择多个文件,提供了一种友好的用户体验。Flash上传工具通常通过ActionScript(Flash的编程语言)编写,它可以控制文件的选取、上传过程,并且可以显示上传进度,提升用户...

    C# .NET FileUpload 多文件上传例子

    在这个"C# .NET FileUpload 多文件上传例子"中,我们将探讨两种主要的方法,帮助你理解和掌握这一关键功能。 首先,我们要知道ASP.NET中的`&lt;asp:FileUpload&gt;`控件是实现文件上传的核心组件。它可以允许用户从本地...

    计算机网络安全中文件上传漏洞及防御措施.pdf

    计算机网络安全中文件上传漏洞是一种常见的Web安全漏洞,攻击者可以通过上传恶意代码的文件来获取服务器的控制权。为了防御这种攻击,需要对文件上传进行严格的校验检测,限制上传文件的大小,检测文件名、后缀名和...

    微信小程序文件上传(手机文件管理器上传)

    在实现微信小程序的文件上传功能时,主要涉及以下几个关键技术点: 1. **API使用**:微信小程序提供了`wx.chooseImage`、`wx.saveFile`和`wx.uploadFile`等API用于文件选择和上传。`wx.chooseImage`可以让用户从...

    大文件上传, ajax 实现, 支持10G以上的上传

    在IT行业中,大文件上传是一项常见的需求,尤其是在云计算、数据共享和媒体分享等领域。传统的HTTP表单上传方式在处理大文件时存在限制,容易导致内存溢出或超时等问题。因此,采用AJAX技术实现大文件上传是解决这一...

    JSP多文件上传(同时上传)

    实现JSP多文件上传,我们需要了解以下几个关键知识点: 1. **HTML表单与多文件选择**: 在HTML中,`&lt;input type="file"&gt;`标签用于创建一个文件输入框,用户可以通过它选择文件。要支持多文件上传,需要设置`...

    应用系统之间的几种数据传输方式

    ### 应用系统之间的几种数据传输方式 #### 一、数据传输方式概述 随着SOA(面向服务架构)的普及,应用系统之间的交互越来越频繁。为了确保这些交互能够高效、安全地进行,需要选择合适的数据传输方式。本文将详细...

    jQuery Ajax 上传文件处理方式介绍(推荐)

    在本文中,我们将深入探讨如何使用jQuery AJAX 处理文件上传,特别是使用FormData对象来异步上传二进制文件。 首先,了解AJAX(Asynchronous JavaScript and XML)的基本概念是必要的。AJAX允许在不重新加载整个...

    文件上传并在线浏览

    标题“文件上传并在线浏览”涉及的技术点主要是文件上传与在线预览,主要涵盖以下几个方面: 1. **文件上传**:文件上传是Web应用中常见的功能,用户可以通过选择本地文件将其上传到服务器。这一过程涉及到HTML表单...

    WebShell文件上传漏洞分析溯源

    WebShell 文件上传漏洞的危害非常严重,可以导致以下几种情况: 1. 服务器控制权丧失:攻击者可以通过上传恶意文件获取服务器的控制权,进而控制服务器的行为。 2. 数据泄露:攻击者可以通过上传恶意文件来窃取...

    文件上传下载服务器

    文件上传下载服务器是一种重要的网络服务,它为用户提供了一个方便、高效的方式来交换文件,特别是对于教育机构,如学校,教师可以利用这种服务收发作业、试卷等教学材料。在这个场景下,教师无需通过邮件或者传统的...

Global site tag (gtag.js) - Google Analytics