文件上传
程序员文章站
2022-08-19 23:00:17
文件上传 一、配置文件上传的大小限制 application.properties 配置文件添加: 限制单个文件的最大值 限制上传的多个文件的总大小 二、单文件上传 1、创建Controller控制类 2、如果要写jsp页面验证的话,选择文件,form的 为`multipart/form data` ......
文件上传
一、配置文件上传的大小限制
application.properties配置文件添加:
# 上传文件总的最大值 spring.servlet.multipart.max-request-size=10mb # 单个文件的最大值 spring.servlet.multipart.max-file-size=10mb
-
spring.servlet.multipart.max-file-size
限制单个文件的最大值 -
spring.servlet.multipart.max-request-size
限制上传的多个文件的总大小
二、单文件上传
1、创建controller控制类
package com.desire.controller; import java.io.file; import java.io.ioexception; import java.util.list; import javax.servlet.http.httpservletrequest; import org.apache.log4j.logger; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.requestparam; import org.springframework.web.bind.annotation.restcontroller; import org.springframework.web.multipart.multipartfile; import org.springframework.web.multipart.multiparthttpservletrequest; @restcontroller @requestmapping("/upload") public class upload { private static final logger logger = logger.getlogger(upload.class); @requestmapping("uploadfile") public string uploadfile(@requestparam("file") multipartfile file) { if (file.isempty()) { return "上传失败,请选择文件"; } string filename = file.getoriginalfilename(); system.err.println("文件名称:" + filename); string filepath = "d:/upload/"; system.err.println("文件保存路径:" + filepath); file dest = new file(filepath + filename); try { file.transferto(dest); logger.info("上传成功!!!"); return "上传成功!"; } catch (ioexception e) { logger.error(e.tostring(), e); } return "上传失败!!!"; } }
2、如果要写jsp页面验证的话,选择文件,form的enctype
为multipart/form-data
。
我这里直接用postman进行验证。
1.打开postman
2.填写url,选择post提交方式。
3.①选择body
②选择form-data
③添加key值:file
④选择file
⑤添加value
4、点击send运行
5、输出返回值。查看上传文件。上传成功!
三、多文件上传
在controller中添加以下方法
@requestmapping("uploadfiles") public string uploadfiles(httpservletrequest request) { list<multipartfile> files = ((multiparthttpservletrequest) request).getfiles("file"); system.out.println("选择了文件数::" + files.size()); string filepath = "d:/upload/"; system.err.println("文件保存路径:" + filepath); for (int i = 0; i < files.size(); i++) { multipartfile file = files.get(i); if (file.isempty()) { return "上传第" + (i++) + "个文件失败!!!"; } string filename = file.getoriginalfilename(); system.err.println("文件名称:" + filename); file dest = new file(filepath + filename); try { file.transferto(dest); logger.info("第" + (i + 1) + "个文件上传成功!"); } catch (ioexception e) { logger.error(e.tostring(), e); return "上传第" + (i++) + "个文件失败!!!"; } } return "上传成功!!!"; }
选择不同的文件。(注:总大小不要超过你设定的限制值)
查看上传结果