/**
* 文件上传 上传的文件名称可以自定义 也可以按照原文件的名称 对于上传文件的地址 我这里是写死在我本地的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;
}
知识兔