多个文件上传












/**
* 封装上传方法
*
* @param request
* @param loanId
* @return
* @throws Exception
*/
public Map upload(MultipartHttpServletRequest request, int loanId) throws Exception {
String filePath = "";
String osskey = "";
Map map = new HashMap<>();
//提取上传文件
Map files = request.getFileMap();
//判断是否含有文件上传控件
if (files.size() > 0) {
//定义可以上传文件的类型
List filelimit = Arrays.asList("jpg", "gif", "png");
Map filelimitmap = new HashMap<>();
filelimit.forEach((s) -> filelimitmap.put(s, s));
Set keys = files.keySet();
//遍历集合
for (String key : keys) {
//判断为多文件上传
List fileList = request.getFiles(key);
//判断是否有文件
if (fileList.size() == 0) {
continue;
}
StringBuilder str = new StringBuilder();
String filename = "";
//遍历集合上传文件
for (MultipartFile file : fileList) {
//判断是否有文件
if (file.getOriginalFilename().length() <= 1) {
continue;
}
int id = 0;
//判断是否为限制的文件格式
filename = file.getOriginalFilename();
int lastIndexOf = filename.lastIndexOf(".");
String s = filename.substring(lastIndexOf + 1);
if (filelimitmap.get(s) == null) {
continue;
}
//1.放oss上返回key
osskey = OSS.uploadImage(file.getInputStream());
//2.放sftp返回一个路径 再存入file_data
filePath = SFTP.addFile(file.getInputStream(), loanId, file.getOriginalFilename(), osskey);
map.put("osskey", osskey); //阿里云oss key
map.put("filePath", filePath); //sftp返回的路径
map.put("fileName", filename);
map.put("ext", s);
id = adminDao.submitFileData(map);
System.out.println("返回的id" + id);
str.append(id + ",");
}
String strid = "" + str;
map.put(key, strid);
}
}
return map;
}

你可能感兴趣的:(多个文件上传)