contorller层
/**
* 添加促销商品
*
* @param files
* @return
*/
@RequestMapping(value = "insert", method = RequestMethod.POST)
public Response insert(@RequestParam(defaultValue = "") MultipartFile[] files, HttpServletRequest request) {
try {
ZcbPromoteSales pts = new ZcbPromoteSales();
pts.setJcsl(Integer.parseInt(request.getParameter("jcsl")));
pts.setCxsl(Integer.parseInt(request.getParameter("cxsl")));
pts.setMrxg(Integer.parseInt(request.getParameter("mrxg")));
pts.setGoodsname(request.getParameter("goodsname"));
pts.setPromotename(request.getParameter("promotename"));
pts.setGoodsid(request.getParameter("goodsid"));
pts.setStatus(request.getParameter("status"));
List<String> paths = ImageUtil.uploadFiles(files, "D:/Project/zcbsys/zcbimage/");
System.err.println("这是个啥!!!!!"+paths);
return new Response(Response.NO_PERMISSION, Response.FAIL_MSG, "");
} catch (Exception e) {
return new Response(Response.NO_PERMISSION, Response.FAIL_MSG, e.getMessage());
}
}
重点代码
/**
*
* 多张/单张都可以用这个
* 保存图片
*
* @param files<MultipartFile>
* 要批量上传的文件
* @param path
* 图片保存的路径
* @return "WRONG_FILE_EXTENSION"-错误的后缀, "FILE_EMPTY"-空文件 或者 保存后的绝对路径
* @throws IOException
*/
public static List<String> uploadFiles(MultipartFile [] files, String path) throws IOException {
List<String> msgs = new ArrayList<>();
if (files == null && files.length < 0) {
msgs.add("file_empty");
return msgs;
}
for (int i = 0; i < files.length; ++i) {
MultipartFile file = files[i];
if (!file.isEmpty()) {
String filename = file.getOriginalFilename();
String type = filename.indexOf(".") != -1
? filename.substring(filename.lastIndexOf("."), filename.length())
: null;
if (type == null) {
msgs.add("file_empty");
return msgs;
}
if (!(".PNG".equals(type.toUpperCase()) || ".JPG".equals(type.toUpperCase()))) {
msgs.add("wrong_file_extension");
return msgs;
}
}
}
for (int i = 0; i < files.length; ++i) {
MultipartFile file = files[i];
String filename = file.getOriginalFilename();
String type = filename.indexOf(".") != -1 ? filename.substring(filename.lastIndexOf("."), filename.length())
: null;
String filepath = path + UUID.randomUUID() + type;
File filesPath = new File(path);
if (!filesPath.exists()) {
filesPath.mkdir();
}
BufferedOutputStream out = null;
type = filepath.indexOf(".") != -1 ? filepath.substring(filepath.lastIndexOf(".") + 1, filepath.length())
: null;
try {
out = new BufferedOutputStream(new FileOutputStream(new File(filepath)));
out.write(file.getBytes());
msgs.add(filepath);
} catch (Exception e) {
// 没有上传成功
e.printStackTrace();
} finally {
out.flush();
out.close();
}
}
return msgs;
}