**
* 单文件上传
*
* @param name
* @RequestParam 取得name字段的值
* @param file
* 文件
* @return
* @throws IOException
*/
@RequestMapping(value = "/fileUpload", method = RequestMethod.POST)
public String handleFormUpload(@RequestParam("name") String name,
@RequestParam("file") MultipartFile file) throws IOException {
System.out.println("name:" + name);
System.out.println("上传文件:" + file.getOriginalFilename());
if (!file.isEmpty()) {
this.copyFile(file.getInputStream(), file.getOriginalFilename());
}
return "fileUpload/success";
}
/**
* 多文件上传
*
* @param request
* @param name
* @return
* @throws Exception
*/
@RequestMapping(value = "/multipartFileUpload", method = RequestMethod.POST)
public String upload2(MultipartHttpServletRequest request,
@RequestParam("name") String name // 页面上的控件值
) throws Exception {
List<MultipartFile> files = request.getFiles("file");
for (int i = 0; i < files.size(); i++) {
if (!files.get(i).isEmpty()) {
System.out
.println("上传文件:" + files.get(i).getOriginalFilename());
this.copyFile(files.get(i).getInputStream(), files.get(i)
.getOriginalFilename());
}
}
System.out.println("success");
return "fileUpload/success";
}
/**
* 写文件到本地
*
* @param in
* @param fileName
* @throws IOException
*/
private void copyFile(InputStream in, String fileName) throws IOException {
FileOutputStream fs = new FileOutputStream("d:/upload/" + fileName);
byte[] buffer = new byte[1024 * 1024];
int bytesum = 0;
int byteread = 0;
while ((byteread = in.read(buffer)) != -1) {
bytesum += byteread;
fs.write(buffer, 0, byteread);
fs.flush();
}
fs.close();
in.close();
}