浏览代码

优化图片以外的文件上传

s1eepycat 3 年之前
父节点
当前提交
dddbe9f0e9
共有 1 个文件被更改,包括 13 次插入2 次删除
  1. 13 2
      src/main/java/com/zhiqiyun/open/core/service/impl/UploadFileInfoServiceImpl.java

+ 13 - 2
src/main/java/com/zhiqiyun/open/core/service/impl/UploadFileInfoServiceImpl.java

@@ -23,6 +23,7 @@ import java.awt.image.BufferedImage;
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.IOException;
+import java.io.RandomAccessFile;
 import java.util.Arrays;
 import java.util.List;
 import java.util.regex.Matcher;
@@ -93,11 +94,11 @@ public class UploadFileInfoServiceImpl extends ServiceImpl<UploadFileInfoMapper,
                     throw new UploadException("创建上传目录失败");
                 }
             }
-            filePath = String.format("%s/%s.%s", filePath, DigestUtils.md5Hex(fileBuff), extension);
-            File file = new File(filePath);
 
 
             if(mimeType!=null){
+                filePath = String.format("%s/%s.%s", filePath, DigestUtils.md5Hex(fileBuff), extension);
+                File file = new File(filePath);
                 try {
                     ByteArrayInputStream in = new ByteArrayInputStream(fileBuff);
                     BufferedImage bi = ImageIO.read(in);
@@ -110,6 +111,16 @@ public class UploadFileInfoServiceImpl extends ServiceImpl<UploadFileInfoMapper,
                     log.warn("upload is not image file", e);
                     throw new UploadException("只能上传图片文件");
                 }
+            }else {
+                filePath = String.format("%s/%s.%s", filePath, originalFilename, extension);
+                File file = new File(filePath);
+                try {
+                    RandomAccessFile file_test = new RandomAccessFile(file,"rw");
+                    file_test.write(fileBuff);
+                } catch (IOException e) {
+                    log.warn("upload is failed", e);
+                    throw new UploadException("文件上传失败");
+                }
             }
 
             result.setSuccess(true);