|
|
@@ -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();
|