Java通过MultipartFile进行文件上传
依赖包:Maven
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
spring-mvc.xml配置
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设定文件上传的最大值-->
<property name="maxUploadSize" value="10485760"></property>
<!-- 设定文件上传时写入内存的最大值,如果小于这个参数不会生成临时文件,默认为10240 -->
<property name="maxInMemorySize" value="10240000"></property>
<!-- 设定默认编码 -->
<property name="defaultEncoding" value="UTF-8"></property>
</bean>
几个必须的Jar
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpSession;
import java.io.File;
import java.util.List;
Controller类接收参数及简单编码上传
@RequestParam("file") 这个file一定要跟前端name名称一致;
前端的name熟悉file 跟我们接受参数的注解值保持一致
<input type='file' name = 'file' />
一定要注意,因为我们前后端分离没有沟通好吃了个大亏
@RequestMapping(value = "uploadFile", method={RequestMethod.GET,RequestMethod.POST})
@ResponseBody
public Object uploadFiles(@RequestParam("file")MultipartFile file1,HttpSession session) throws Exception {
try{
//上传到这个目录下边
File fileDir = new File("E:/jt-upload");
//这个是判断文件夹存在不存在
if(!fileDir.exists()){
//不存在就创建
fileDir.mkdirs();
}
//获取文件名
String fileName = file1.getOriginalFilename();
//开始上传
file1.transferTo(new File("E:/jt-upload/"+fileName));
}catch (Exception e){
logger.error("{(uploadFile)上传文件失败::::!}", e);
e.printStackTrace();
}
return result;
}
简单整理一下MultipartFile上传文件的用法