方法一:
/***
* 文件上传
*/
@RequestMapping(value="/image")
public void image(@RequestParam(value="userimage")MultipartFile file, HttpServletRequest request){
String path = request.getServletContext().getRealPath("/resources");
path+="/"+file.getOriginalFilename();
try {
//将文件写入目标文件对象
file.transferTo(new File(path));
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
/*try {
InputStream is = file.getInputStream();
//缓冲区
byte[] buffer = new byte[1024];
//定义文件输出流,向指定的目录输出文件信息
File newfile = new File(path);
FileOutputStream os = new FileOutputStream(newfile);
while (is.read(buffer)!=-1) {
os.write(buffer);
}
is.close();
os.flush();
os.close();
} catch (IOException e) {
e.printStackTrace();
}*/
}
方法二:
//文件保存路径
//eclipse:
/*String savePath = request.getServletContext().getRealPath(
"/resources/images")
+ "/";*/
String savePath=request.getRealPath("/resources/images");
// 文件名=随机数+原文件名
File file2 = new File(savePath + (int) (Math.random() * 10000)
+ file.getOriginalFilename());
// 保存文件名称
String filename = file2.getName();
System.out.println(filename);
try {
// 上传图片
file.transferTo(file2);
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("文件上传失败");
e.printStackTrace();
}