一、form表单属性中加上enctype="multipart/form-data"

form表单的

二、配置文件中配置MultipartResolver

文件超出限制会在进入controller前抛出异常,在允许范围内这个配置无影响

三、MultipartFile

接受文件并通过IO二进制流(MultipartFile.getInputStream())输入到FileOutStream保存文件,然后该干嘛就干嘛

参数接收同MultipartFile 接收一样。

接受form表单截图中name为file和id的文件和参数。如下

@RequestMapping(value = "attendee_uploadExcel.do")

@ResponseBody

public void uploadExcel(@RequestParam("file")

MultipartFile file, @RequestParam("id")

String id) throws Exception {

//form表单提交的参数测试为String类型

if (file == null) return ;

String fileName = file.getOriginalFilename();

String path =

getRequest().getServletContext().getRealPath("/upload/excel");

//获取指定文件或文件夹在工程中真实路径,getRequest()这个方法是返回一个HttpServletRequest,封装这个方法为了处理编码问题

FileOutputStream fos =

FileUtils.openOutputStream(new

File(path+"/"

+fileName));//打开FileOutStrean流

IOUtils.copy(file.getInputStream(),fos);//将MultipartFile file转成二进制流并输入到FileOutStrean

fos.close();//

......

}

四、servlet上传文件。HttpServletRequest

req强转成MultipartHttpServletRequest

req后,req.getParameter("id");

HttpServletRequest request;

MultipartHttpServletRequest multipartRequest =

(MultipartHttpServletRequest) request;

MultipartFile file

= multipartRequest.getFile("file");

String id = multipartRequest.getParameter("id");

String fileName = file.getOriginalFilename();

五、maven配置

添加maven依赖:

commons-fileupload

commons-fileupload

1.2.2

Spring注解配置:

@Bean

public MultipartResolver multipartResolver() throws IOException

{

CommonsMultipartResolvercommonsMultipartResolver=new CommonsMultipartResolver();

commonsMultipartResolver.setUploadTempDir(new

FileSystemResource("fileUpload/temp"));//上传中临时文件存放目录

commonsMultipartResolver.setMaxUploadSize(2097152);//上传文件的总大小限制,这里设置为2G

commonsMultipartResolver.setDefaultEncoding("UTF-8");//编码

//commonsMultipartResolver.setResolveLazily();//延迟解析,解析文件的时候再抛异常

//commonsMultipartResolver.setServletContext();

commonsMultipartResolver.setMaxInMemorySize(1024);//缓存大小限制

//commonsMultipartResolver.setMaxUploadSizePerFile();//单个文件大小限制

//commonsMultipartResolver.setPreserveFilename();

return

commonsMultipartResolver;

}

java 文件上传 配置_SpringMVCMultipartFilefile文件上传及参数接收相关推荐

  1. MyBatis Eclipse 配置DTD文件 MyBatis Idea配置DTD文件

    MyBatis Eclipse 配置DTD文件 MyBatis Idea配置DTD文件 一.情景描述 xml文件中,一般默认从网络中加载DTD文件,但是在某些没网的场景,无法从网络中加载dtd,则需要 ...

  2. SpringMVC→简介、MVC、SpringMVC工作原理、Maven搭建第一个SpringMVC、请求参数接收、重定向、文件上传、AJAX异步访问、请求参数接收绑定JSON、@注解及传参

    MVC SpringMVC工作原理 Maven搭建第一个SpringMVC 目录结构 web.xml *-servlet.xml Controller请求处理类 跳转页面 Maven运行服务器项目 浏 ...

  3. windows上nginx配置php,Windows 上Nginx+PHP 的安装与配置

    Windows 下Nginx+PHP 的安装与配置 ? 一.软件准备 1.Nginx:http://nginx.org/download/nginx-1.2.0.zip 2.php:http://wi ...

  4. yum安装odbc驱动linux,在CentOS上离线配置PostgreSQL ODBC数据源

    一.问题提出 内网的一台CentOS服务器,需配置PostgreSQL ODBC.如果可以连接Internet,此工作很容易,使用yum install自动安装相应依赖包后简单配置即可.但当置于内网环 ...

  5. 树莓派 文件服务器,树莓派安装配置NFS文件存储服务器

    前言 树莓派有一个非常好的优点就是功耗特别低,大概只有3W的样子.因此如果在树莓派上搭建一个NFS家庭文件服务器是非常理想的设备,因为树莓派功耗底所以没有风扇等机械结构自然也就没有噪音等困扰,可以说是 ...

  6. android写入文件方法,Android 追加写入文件的三种方法

    一.使用FileOutputStream 使用FileOutputStream,在构造FileOutputStream时,把第二个参数设为true public static void method1 ...

  7. ftp上传当天文件的方法_ftp自动上传文件,ftp自动上传文件的配置方法及使用教程...

    IIS7服务器管理工具具备所有服务器管理工具的功能,比如批量管理.同时它还有很多的自主研发功能.比如同步操作.到期提醒.数据安全和定期执行.当然适用的系统也有Windows和liunx操作系统.还支持 ...

  8. java action 上传文件_JavaWeb框架_Struts2_(七)-----文件的上传和下载

    1.  前言 这个章节是Struts2框架应用最广泛的三个版块(上传下载.国际化.校验输入)之一,所以这一版块的学习还蛮重要的. 2.  具体内容 2.1Struts2文件上传 2.1.1单文件上传 ...

  9. java web文件夹_JAVA WEB项目文件夹上传下载解决方案

    这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得 ...

最新文章

  1. ftl模板导出excel_freemarker导出复杂Excel
  2. 在dw怎么关联css文件,重新设置Adobe Dreamweaver的文件关联解决办法
  3. jQuery UI在Server 2008 IE8下DatePicker问题修复
  4. SOT-143封装 ESD二极管
  5. 如何读取服务器信息吗,New Features Introduced in IIS 10.0 Version 1709
  6. Shiro 单点登录
  7. (转)Managed DirectX +C# 开发(入门篇)(二)
  8. Linux命令之乐--iconv
  9. Remote Desktop Manager for Mac(远程桌面管理)
  10. wpf 写个简单的控件吧
  11. 《那些年啊,那些事——一个程序员的奋斗史》一
  12. win10 xampp mysql_Win10系统在本地安装XAMPP的方法
  13. yocto的hello world
  14. PaddleDetection 自定义VOC数据集进行目标检测
  15. python列表姓氏_Python 批量生成中文姓名(百家姓)
  16. 云服务器网站免备案怎么用,云服务器如何使用免备案功能访问网站
  17. STM8S003超声波测距
  18. js 将字符串中的大写变成小写,小写变成大写
  19. java实验7 常用类的使用
  20. Java之final修饰变量

热门文章

  1. sqlserver关键字
  2. DataDirectory是什么?
  3. mc服务器右上角信号格,手机右上角的网络信号标识是什么意思?
  4. bit不是java基本类型吗_Java bit / byte 基本数据类型
  5. Alibaba Druid连接池接入
  6. teleport最新版不支持mysql_QA · tp4a/teleport Wiki · GitHub
  7. 计算机在社区健康档案管理中的作用,某社区卫生中心对辖区居民的健康档案信息进行电子化。一直建档居民的年龄范围在1..._考试资料网...
  8. php代码导入sql,php导入SQL文件(示例代码)
  9. linux限制单个ip频繁连接,限制单个IP并发TCP连接的方法
  10. 修改无效_解决docker部署gitlab时,clone地址无效和修改默认端口