Bladeren bron

清理无用代码, 简化项目中...

reghao 1 maand geleden
bovenliggende
commit
46a0baa3f8

+ 1 - 0
oss-store/src/main/java/cn/reghao/oss/store/handler/OssMultipartUploadHandler.java

@@ -187,6 +187,7 @@ public class OssMultipartUploadHandler extends SimpleChannelInboundHandler<HttpO
                         headerCollector.writeBytes(chunk, Math.min(need, chunk.readableBytes()));
                         // 只要凑够了 8 字节,或者文件已经传输完毕(应对极小文件)
                         if (headerCollector.readableBytes() == 8 || fileUpload.isCompleted()) {
+                            // TODO 将检测到的 contentType 和 channel 要求的 contentType 对比, 不符合则立即终止上传
                             String sniffedType = tika.detect(toByteArray(headerCollector));
                             formData.put("sniffedContentType", sniffedType);
                             isTypeIdentified = true;

+ 1 - 0
oss-store/src/main/java/cn/reghao/oss/store/handler/OssRouterHandler.java

@@ -78,6 +78,7 @@ public class OssRouterHandler extends SimpleChannelInboundHandler<HttpObject> {
                         maxSize = (long) claims.get("maxSize");;
                     }
 
+                    // TODO 验证上传文件的 contentType 是否符合 channelPrefix 的配置, 若不符合则立即终止上传
                     String channelPrefix = (String) claims.get("channelPrefix");
                     String contentType = (String) claims.get("contentType");
 

+ 6 - 6
oss-store/src/main/java/cn/reghao/oss/store/handler/OssUploadHandler.java

@@ -5,6 +5,7 @@ import cn.reghao.oss.api.dto.FastUploadResult;
 import cn.reghao.oss.api.dto.UploadResult;
 import cn.reghao.oss.api.dto.rest.UploadFileRet;
 import cn.reghao.oss.api.iface.ConsoleService;
+import cn.reghao.oss.api.util.FileUtil;
 import cn.reghao.oss.store.config.OssStoreConfig;
 import cn.reghao.oss.store.config.StorageConstants;
 import cn.reghao.oss.store.disk.HddFlushService;
@@ -80,15 +81,12 @@ public class OssUploadHandler extends SimpleChannelInboundHandler<HttpObject> {
             String objectId = UUID.randomUUID().toString().replace("-", "");
             String clientSha256 = request.headers().get("X-File-SHA256", objectId);
             String filename = request.headers().get("X-File-Name", objectId);
-
             String channelPrefix = (String) ctx.channel().attr(AttributeKey.valueOf("channelPrefix")).get();
-            log.info("channelPrefix -> {}", channelPrefix);
 
-            String suffix = "mp4";
-            String objectName = String.format("%s/%s.%s", channelPrefix, objectId, suffix);
+            String suffix = FileUtil.getSuffix(filename);
+            String objectName = String.format("%s%s.%s", channelPrefix, objectId, suffix);
             long uploadBy = (Long) ctx.channel().attr(AttributeKey.valueOf("uploadBy")).get();
             if (clientSha256 != null && consoleService.checkExists(clientSha256)) {
-                log.info("触发秒传: {}", clientSha256);
                 FastUploadResult fastUploadResult = new FastUploadResult(clientSha256, filename, objectId, objectName, uploadBy);
                 consoleService.bindOnly(fastUploadResult);
                 String uploadId = fastUploadResult.getObjectId();
@@ -150,7 +148,9 @@ public class OssUploadHandler extends SimpleChannelInboundHandler<HttpObject> {
             String filename = state.getFilename();
             long size = state.getTotalSize();
             String uploadId = state.getObjectId();
-            String objectName = String.format("%s/%s", channelPrefix, uploadId);
+
+            String suffix = FileUtil.getSuffix(filename);
+            String objectName = String.format("%s%s.%s", channelPrefix, uploadId, suffix);
 
             String hostPort = String.format("%s:%s", ossStoreConfig.getStoreHost(), ossStoreConfig.getPort());
             UploadResult uploadResult = new UploadResult();