From b7caa3347299ecb8600349081fc33bfae88e22a7 Mon Sep 17 00:00:00 2001 From: "Stormeye.Wu" Date: Wed, 8 Aug 2018 13:57:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../simple/controller/UploadController.java | 70 +++++++++++++++++++ .../main/java/com/simple/utils/Constant.java | 6 ++ 2 files changed, 76 insertions(+) create mode 100644 mallinkAdmin/src/main/java/com/simple/controller/UploadController.java create mode 100644 mallinkAdmin/src/main/java/com/simple/utils/Constant.java diff --git a/mallinkAdmin/src/main/java/com/simple/controller/UploadController.java b/mallinkAdmin/src/main/java/com/simple/controller/UploadController.java new file mode 100644 index 000000000..9bd1c2cab --- /dev/null +++ b/mallinkAdmin/src/main/java/com/simple/controller/UploadController.java @@ -0,0 +1,70 @@ +package com.simple.controller; + + +import com.simple.common.ResultData; +import com.simple.utils.Constant; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.util.MultiValueMap; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; + +import javax.servlet.http.HttpServletRequest; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.util.*; + +@Controller +@RequestMapping(value = "upload") +public class UploadController { + + private final Logger logger = LoggerFactory.getLogger(UploadController.class); + + /** + * 上传文件 + * + * @param request + * @return + * @throws Exception + */ + @RequestMapping(value = "/fileUpload", method = RequestMethod.POST) + @ResponseBody + public ResultData fileUpload(HttpServletRequest request) { + MultipartHttpServletRequest params=((MultipartHttpServletRequest) request); + MultiValueMap iter = params.getMultiFileMap(); + BufferedOutputStream stream = null; + ArrayList fileNameArray = new ArrayList(); + for (Map.Entry> entry : iter.entrySet()) { + //取得上传文件 + List files = params.getFiles(entry.getKey()); + for(MultipartFile file: files) { + if (!file.isEmpty()) { + String fileName = UUID.randomUUID().toString() + "_" + file.getOriginalFilename(); + String filePath = Constant.fileDirectory + File.separator + fileName; + try { + byte[] bytes = file.getBytes(); + stream = new BufferedOutputStream(new FileOutputStream(new File(filePath))); + stream.write(bytes); + stream.close(); + fileNameArray.add(fileName); + } catch (Exception e) { + stream = null; + logger.error(e.getMessage()); + return new ResultData(500, e.getMessage()); + } + } else { + logger.error("You failed to upload " + file.getOriginalFilename() + "| size=" + file.getSize() + " because the file was empty."); + return new ResultData(404, "You failed to upload " + file.getOriginalFilename() + " because the file was empty."); + } + } + } + Map map = new HashMap(); + map.put("imgarray", fileNameArray); + return new ResultData(0, "上传成功", map); + } +} diff --git a/mallinkAdmin/src/main/java/com/simple/utils/Constant.java b/mallinkAdmin/src/main/java/com/simple/utils/Constant.java new file mode 100644 index 000000000..3f296ae75 --- /dev/null +++ b/mallinkAdmin/src/main/java/com/simple/utils/Constant.java @@ -0,0 +1,6 @@ +package com.simple.utils; + +public class Constant { + + public static final String fileDirectory="./uploads"; +}