后台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盘根目录下)。
相关推荐
文件上传三种方式
2项目为实现文件上传的三种方式的源码,详细说明见我的博客。 jsp_upload-servlet项目:(1).Jsp/servlet 实现文件上传 (2).模拟Post请求/servlet 实现文件上传 jetty_upload-springmvc项目:(3).模拟Post请求/...
采用前后端分离的方式进行开发,实现了几种常用的文件上传功能。 前端采用 vue.js + plupload + element-ui 实现了文件在浏览器端的发送, 后端采用 spring boot + spring + spring mvc + mybatis 实现了文件在服务器...
以上代码段展示了文件上传过程中常见的几种限制及其实现方法。通过合理的设置,可以有效地防止恶意上传行为,同时也能提升用户体验。例如: - **大小限制**:可以避免过大的文件上传导致服务器资源耗尽。 - **类型...
本文旨在介绍当前网络应用程序中常用的浏览器文件上传原理,并探讨几种实现文件上传的方法及其配置。 #### 二、文件上传的基本原理 文件上传功能的核心是通过HTTP协议将文件从客户端传输到服务器端。基于浏览器的...
本文将详细介绍几种常见的下载文件方式。 1. **直接点击下载** 这是最基本的下载方式,通常在网页上,我们点击一个链接或按钮,浏览器会自动开始下载文件。例如,`xiazai.aspx`可能是一个网页,用户可以直接点击...
在IT行业中,网络请求是应用程序与服务器交互的重要方式,而POST请求是其中最常见的一种,尤其在处理数据提交和文件上传时。本实例主要聚焦于使用POST方式上传文件,这在移动应用、网页表单或者后台接口开发中非常...
在实现多文件上传时,通常会涉及到以下几个关键知识点: 1. **HTML5的File API**:现代浏览器支持HTML5的File API,它提供了对用户选择的文件进行读取、写入和操作的能力。通过`<input type="file">`标签,我们可以...
*** Core通过`IFormFile`接口和异步编程模型为开发者提供了一种高效、简洁的方式来处理文件上传下载的需求。通过理解`IFormFile`接口的使用、控制器与动作方法的设计、Tag Helper的运用、异步编程的模型以及文件系统...
在多文件上传场景下,Flash允许用户一次性选择多个文件,提供了一种友好的用户体验。Flash上传工具通常通过ActionScript(Flash的编程语言)编写,它可以控制文件的选取、上传过程,并且可以显示上传进度,提升用户...
在这个"C# .NET FileUpload 多文件上传例子"中,我们将探讨两种主要的方法,帮助你理解和掌握这一关键功能。 首先,我们要知道ASP.NET中的`<asp:FileUpload>`控件是实现文件上传的核心组件。它可以允许用户从本地...
计算机网络安全中文件上传漏洞是一种常见的Web安全漏洞,攻击者可以通过上传恶意代码的文件来获取服务器的控制权。为了防御这种攻击,需要对文件上传进行严格的校验检测,限制上传文件的大小,检测文件名、后缀名和...
在实现微信小程序的文件上传功能时,主要涉及以下几个关键技术点: 1. **API使用**:微信小程序提供了`wx.chooseImage`、`wx.saveFile`和`wx.uploadFile`等API用于文件选择和上传。`wx.chooseImage`可以让用户从...
在IT行业中,大文件上传是一项常见的需求,尤其是在云计算、数据共享和媒体分享等领域。传统的HTTP表单上传方式在处理大文件时存在限制,容易导致内存溢出或超时等问题。因此,采用AJAX技术实现大文件上传是解决这一...
实现JSP多文件上传,我们需要了解以下几个关键知识点: 1. **HTML表单与多文件选择**: 在HTML中,`<input type="file">`标签用于创建一个文件输入框,用户可以通过它选择文件。要支持多文件上传,需要设置`...
### 应用系统之间的几种数据传输方式 #### 一、数据传输方式概述 随着SOA(面向服务架构)的普及,应用系统之间的交互越来越频繁。为了确保这些交互能够高效、安全地进行,需要选择合适的数据传输方式。本文将详细...
在本文中,我们将深入探讨如何使用jQuery AJAX 处理文件上传,特别是使用FormData对象来异步上传二进制文件。 首先,了解AJAX(Asynchronous JavaScript and XML)的基本概念是必要的。AJAX允许在不重新加载整个...
标题“文件上传并在线浏览”涉及的技术点主要是文件上传与在线预览,主要涵盖以下几个方面: 1. **文件上传**:文件上传是Web应用中常见的功能,用户可以通过选择本地文件将其上传到服务器。这一过程涉及到HTML表单...
WebShell 文件上传漏洞的危害非常严重,可以导致以下几种情况: 1. 服务器控制权丧失:攻击者可以通过上传恶意文件获取服务器的控制权,进而控制服务器的行为。 2. 数据泄露:攻击者可以通过上传恶意文件来窃取...
文件上传下载服务器是一种重要的网络服务,它为用户提供了一个方便、高效的方式来交换文件,特别是对于教育机构,如学校,教师可以利用这种服务收发作业、试卷等教学材料。在这个场景下,教师无需通过邮件或者传统的...