一、首先加依赖包
<!-- 上传组件包 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
二、在springMCV配置文件中配置如下:
<!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 默认编码 -->
<property name="defaultEncoding" value="UTF-8" />
<!-- 文件大小最大值 -->
<property name="maxUploadSize" value="10485760000" />
<!-- 内存中的最大值 -->
<property name="maxInMemorySize" value="40960" />
<!-- 指定上传文件的临时路径 -->
<!-- <property name="uploadTempDir" value="uploadTempDirectory" /> -->
</bean>
三、可在JSP页面选择一个div容器,自己加样式,这里简单写个multipart/form-data表单上传
<div>
<form class="upload" action="/upload/fileUpload" method="post" enctype="multipart/form-data">
<p>
选择文件:<input type="file" name="multipartFile"/>
</p>
<p></p>
<p style="margin-top: 20px;">
<input style="" type="submit" value="上传并检测"/>
</p>
</form>
</div>
四,action的url会访问到你的后台,进到服务器接收文件:
package com.ye_0809.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
/**
* Created by van on 2017-07-18.
*/
@Controller
@RequestMapping("/upload")
public class userUploadController {
@Value("#{prop.uploadDir}")
private String uploadDir;
//单文件上传
@RequestMapping("/toFileUpload")
public String toUpload(){
return "upload/fileUpload";
}
@RequestMapping("fileUpload")
@ResponseBody
public String upload(MultipartFile multipartFile,HttpServletRequest request, Model model){
if(!multipartFile.isEmpty()){
//设置文件的保存路径
//filepath= Utils.format(filepath);
String filePath = request.getServletContext().getRealPath("/")+uploadDir+"/" + multipartFile.getOriginalFilename();
File files=new File(filePath);
System.out.println("打印文件保存位置:"+filePath);
//转存文件
try {
multipartFile.transferTo(new File(filePath));
} catch (IOException e) {
e.printStackTrace();
}
}
return "success";
}
//多文件上传
@RequestMapping("/toFileUploadFiles")
public String toUploadFiles(){
return "fileUpload/fileUploadFiles";
}
@RequestMapping("fileUploadFiles")
@ResponseBody
//此处用@RequestParam("xx")来指定参数名,不加会报错
public String uploadFiles(@RequestParam("multipartFile") MultipartFile[] multipartfiles) throws IOException {
String savePath = "D:\\MultipartFile\\";
if(multipartfiles != null && multipartfiles.length != 0){
if(null != multipartfiles && multipartfiles.length > 0){
//遍历并保存文件
for(MultipartFile file : multipartfiles){
file.transferTo(new File(savePath + file.getOriginalFilename()));
}
}
}
return "success";
}
}
五,这个刚做功能比较简单,自己可以加样式和具体细节的功。