代碼是最有力量的,嘎嘎
@CrossOrigin
@ApiOperation(value = "上傳圖片", notes = "上傳圖片", httpMethod = "POST")
@ApiImplicitParam(name = "file", value = "圖片路徑", required = true, dataType = "file")
@ResponseBody
@PostMapping("/uploadImage")
public ResultSet uploadImage(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request)
throws IOException {
// 上傳的圖片只容許是 png 或者jpg 中的格式
if (file.getOriginalFilename().contains(".png") || file.getOriginalFilename().contains(".jpg")) {
// 根據相對路徑轉化爲真實路徑
String rootpath = request.getSession().getServletContext().getRealPath(File.separator);// 得到web應用的絕對路徑
File createFile = new File(rootpath + "/image/");
if (!createFile.exists()) {// 判斷文件是否存在若是不存在則自動建立文件夾
createFile.mkdir();
}
//String uuid = IdGen.uuid() + "_";// 隨機生成一個惟一性的id 確保apk文件重名
File f = new File(rootpath + "/image/" + file.getOriginalFilename());
if (f.exists()) {//上傳的文件已經存在,則提示用戶從新上傳 apk 或者重命名
return ResultSet.getFail("文件已經存在,請從新上傳或者重命名");
} else {
System.out.println(rootpath);
file.transferTo(f); // 將上傳的文件寫入到系統中
return ResultSet.getSuccess(rootpath +"/image/" + file.getOriginalFilename());
}
} else {
return ResultSet.getFail("上傳文件失敗");
}
}
另外一種
@RequestMapping(value="/uploadPictures",method=RequestMethod.POST)
public Object uploadHeadPic(@RequestParam("file")CommonsMultipartFile file,InputStream inputStream,HttpServletRequest request) {
String uuid = UUID.randomUUID().toString().trim();
String fileN=file.getOriginalFilename();
int index=fileN.indexOf(".");
String fileName=uuid+fileN.substring(index);
try {
File fileMkdir=new File("F:\\photoTest");
if(!fileMkdir.exists()) {
fileMkdir.mkdir();
}
//定義輸出流 將文件保存在D盤 file.getOriginalFilename()爲得到文件的名字
FileOutputStream os = new FileOutputStream(fileMkdir.getPath()+"\\"+fileName);
InputStream in = file.getInputStream();
int b = 0;
while((b=in.read())!=-1){ //讀取文件
os.write(b);
}
os.flush(); //關閉流
in.close();
os.close();
} catch (Exception e) {
return Result.getFail("圖片上傳失敗);
}
return Result.getSuccess(fileN);
}web
用到代碼的小夥伴給我點個贊呀