diff options
author | Vitaly Takmazov | 2016-11-28 13:09:34 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2016-11-28 13:09:34 +0300 |
commit | 1679b35661297fd9a6693b03cadcdbc1ab5a4203 (patch) | |
tree | ec2457286fcf93f1c227da369c0c39c98aa853df /juick-api/src/main/java/com/juick/api/util | |
parent | bc23d2d2125d2086847397e85335f29a70668f6b (diff) |
juick-api: all controllers are using spring-security and @RequestParam
Diffstat (limited to 'juick-api/src/main/java/com/juick/api/util')
-rw-r--r-- | juick-api/src/main/java/com/juick/api/util/HttpUtils.java | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/juick-api/src/main/java/com/juick/api/util/HttpUtils.java b/juick-api/src/main/java/com/juick/api/util/HttpUtils.java index f20e10a8..2fe4322d 100644 --- a/juick-api/src/main/java/com/juick/api/util/HttpUtils.java +++ b/juick-api/src/main/java/com/juick/api/util/HttpUtils.java @@ -17,12 +17,19 @@ */ package com.juick.api.util; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.multipart.MultipartFile; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.Part; import java.io.FileOutputStream; +import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.UUID; /** @@ -30,6 +37,7 @@ import java.util.UUID; * @author Ugnich Anton */ public class HttpUtils { + private static final Logger logger = LoggerFactory.getLogger(HttpUtils.class); public static String getPartFilename(Part part) { for (String cd : part.getHeader("content-disposition").split(";")) { if (cd.trim().startsWith("filename")) { @@ -39,27 +47,27 @@ public class HttpUtils { } return null; } - public static String receiveMultiPartFile(HttpServletRequest request, String name) throws Exception { - String attachmentFName = null; - - Part filePart = request.getPart("attach"); - if (filePart != null) { - String partname = HttpUtils.getPartFilename(filePart); + public static String receiveMultiPartFile(MultipartFile attach, String tmpDir) { + if (!attach.isEmpty()) { + String partname = attach.getOriginalFilename(); if (partname != null && partname.length() > 0) { String attachmentType = partname.substring(partname.length() - 3).toLowerCase(); if (attachmentType.equals("jpg") || attachmentType.equals("peg") || attachmentType.equals("png")) { if (attachmentType.equals("peg")) { attachmentType = "jpg"; } - attachmentFName = UUID.randomUUID().toString() + "." + attachmentType; - filePart.write("/var/www/juick.com/i/tmp/" + attachmentFName); - } else { - throw new Exception("Wrong file type"); + String attachmentFName = UUID.randomUUID().toString() + "." + attachmentType; + try { + Files.write(Paths.get(tmpDir, attachmentFName), + attach.getBytes()); + return attachmentFName; + } catch (IOException e) { + logger.warn("file receive error", e); + } } } } - - return attachmentFName; + return ""; } public static String downloadImage(URL url) throws Exception { String attachmentFName = null; |