上传的接口:
@ApiOperation("文件上传")
@RequestMapping("/upload")
@ResponseBody
public RtnInfo uploadFile(HttpServletRequest request, FormatData formData) throws IOException{
RtnInfo rtnInfo = new RtnInfo();
CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
commonsMultipartResolver.setDefaultEncoding("utf-8");
List<Map<String,String>> pathList = new ArrayList<Map<String,String>>();
try {
if (commonsMultipartResolver.isMultipart(request)){
MultipartHttpServletRequest mulReq = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> map = mulReq.getFileMap();
String folder = "";
// key为前端的name属性,value为上传的对象(MultipartFile)
for (Map.Entry<String, MultipartFile> entry : map.entrySet()) {
//获取folder,这里folder与前端name属性对应,定义为图片的归属
folder=AliyunUtils.getFolder(entry.getKey());
//只执行一次获取到folder
break;
}
List<MultipartFile> valueList = new ArrayList<MultipartFile>(map.values());
if(folder!=""&&!valueList.isEmpty()){
//将map中的MultipartFile存进数组中
MultipartFile[] files = new MultipartFile[valueList.size()];
valueList.toArray(files);
//上传图片文件并获取到路径集合pathList
pathList = AliyunUtils.uploadImages(files, folder);
}
}
rtnInfo.setData(pathList);
rtnInfo.setSystemCode(SystemCode.SUCCESS);
} catch (IOException e) {
rtnInfo.setSystemCode(SystemCode.ERROR_6);
rtnInfo.setMsg(e.getMessage());
logger.error("Exception:{}",e);
}
return rtnInfo;
} @ApiOperation("文件上传")
@Request