前台可以传递多个文件,使用h5的新特性,<input type="file" name="fromdata" multiple/>就可以上传多个文件
@RequestMapping("/upload")
@ResponseBody
public String upload(@RequestParam(value="fromdata",required=false)MultipartFile[] fromdata,HttpServletRequest request,HttpServletResponse response) throws IOException{
/**
* 使用字节流的方式进行上传文件 两者都可用,根据选择进行使用
*/
/*System.out.println(new Date());
for (MultipartFile file : fromdata) {
//获得输入流 的文件
InputStream is=file.getInputStream();
//获得文件的存储路径 我这里把路径定义了一下,你们可以自己定义
String path="D:/fileupload/"+file.getOriginalFilename();
OutputStream os=new FileOutputStream(path);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = is.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
is.close();
}
System.out.println(new Date());*/
/**
* 使用拷贝的方法 这个是另外一个方法
*/
System.out.println(new Date());
for (MultipartFile file : fromdata) {
//获得输入流 的文件
//InputStream is=file.getInputStream();
//获得文件的存储路径
String path="D:/fileupload/"+file.getOriginalFilename();
BufferedInputStream in = new BufferedInputStream(file.getInputStream());
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(new File(path)));// 获得文件输出流
Streams.copy(in, out, true);// 开始把文件写到指定的上传文件夹
in.close();
out.close();
}
System.out.println(new Date());
return "1";
}
浙公网安备 33010602011771号