MultipartFile類型的文件上傳


/**
* 文件上傳 上傳的文件名稱可以自定義 也可以按照原文件的名稱 對於上傳文件的地址 我這里是寫死在我本地的D盤
* 文件的大小指定為5M以內(在上傳文件是如果文件過大可能會出現導致程序報錯,這里可能是由於上傳的文件超過了默認文件的大小,可以在項目中進行自定義配置,
* 詳見--https://www.cnblogs.com/langcangsheng/p/10820534.html)
* @param myfiles
* @param request
* @param response
* @return
*/
public static Map<String, Object> uploadFile(MultipartFile myfiles, HttpServletRequest request,
HttpServletResponse response) {

Map<String, Object> resMap = new HashMap<String, Object>();
if(myfiles.getSize()>1024*1024*5){
resMap.put("code", 500);
resMap.put("msg", "文件過大,請上傳5M以內的圖片");
System.out.println("文件上傳失敗");
return resMap;
}
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path;
Date dt = new Date();
Long time = dt.getTime();
if (myfiles != null) {
String realPath ="d://file/"; // 獲取保存的路徑,本地磁盤中的一個文件夾
if (myfiles.isEmpty()) {
// 未選擇文件
resMap.put("code", 400);
resMap.put("msg", "未選擇文件");
} else {
// 文件原名稱
String originFileName = myfiles.getOriginalFilename();

// 上傳文件重命名
String originalFilename = time.toString().substring(time.toString().length() - 8,
time.toString().length());
originalFilename = originalFilename.concat(".");
originalFilename = originalFilename.concat(myfiles.getOriginalFilename().toString()
.substring(myfiles.getOriginalFilename().toString().indexOf(".") + 1));
try {
// 這里使用Apache的FileUtils方法來進行保存
FileUtils.copyInputStreamToFile(myfiles.getInputStream(), new File(realPath, originFileName));
resMap.put("code", 200);
resMap.put("msg", "上傳成功");
resMap.put("filename", originFileName);
resMap.put("path", realPath );

} catch (IOException e) {
resMap.put("code", 500);
System.out.println("文件上傳失敗");
resMap.put("msg", "文件上傳失敗");
e.printStackTrace();
}
}

}

// String param= JSON.toJSONString(resMap);
// System.out.println(param);
return resMap;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM