diff --git a/src/main/java/cc/ryanc/halo/filehandler/LocalFileHandler.java b/src/main/java/cc/ryanc/halo/filehandler/LocalFileHandler.java index b3b920b08..9f9b9f4f0 100644 --- a/src/main/java/cc/ryanc/halo/filehandler/LocalFileHandler.java +++ b/src/main/java/cc/ryanc/halo/filehandler/LocalFileHandler.java @@ -120,6 +120,7 @@ public class LocalFileHandler implements FileHandler { UploadResult uploadResult = new UploadResult(); uploadResult.setFilename(basename); uploadResult.setFilePath(subFilePath); + uploadResult.setKey(subFilePath); uploadResult.setSuffix(extension); uploadResult.setMediaType(MediaType.valueOf(Objects.requireNonNull(file.getContentType()))); uploadResult.setSize(file.getSize()); diff --git a/src/main/java/cc/ryanc/halo/filehandler/QnYunFileHandler.java b/src/main/java/cc/ryanc/halo/filehandler/QnYunFileHandler.java index 3b2a1d523..55a2471e0 100644 --- a/src/main/java/cc/ryanc/halo/filehandler/QnYunFileHandler.java +++ b/src/main/java/cc/ryanc/halo/filehandler/QnYunFileHandler.java @@ -74,7 +74,11 @@ public class QnYunFileHandler implements FileHandler { // Create temp path Path tmpPath = Paths.get(System.getProperty("java.io.tmpdir"), bucket); + try { + String basename = FilenameUtils.getBasename(file.getOriginalFilename()); + String extension = FilenameUtils.getExtension(file.getOriginalFilename()); + // Get file recorder for temp directory FileRecorder fileRecorder = new FileRecorder(tmpPath.toFile()); // Get upload manager @@ -96,9 +100,10 @@ public class QnYunFileHandler implements FileHandler { // Build upload result UploadResult result = new UploadResult(); - result.setFilename(putSet.getHash()); + result.setFilename(basename); result.setFilePath(filePath); - result.setSuffix(FilenameUtils.getExtension(file.getOriginalFilename())); + result.setKey(putSet.getKey()); + result.setSuffix(extension); result.setWidth(putSet.getWidth()); result.setHeight(putSet.getHeight()); result.setMediaType(MediaType.valueOf(Objects.requireNonNull(file.getContentType()))); diff --git a/src/main/java/cc/ryanc/halo/filehandler/UpYunFileHandler.java b/src/main/java/cc/ryanc/halo/filehandler/UpYunFileHandler.java index 8ab015fff..22b17f3d2 100644 --- a/src/main/java/cc/ryanc/halo/filehandler/UpYunFileHandler.java +++ b/src/main/java/cc/ryanc/halo/filehandler/UpYunFileHandler.java @@ -66,7 +66,7 @@ public class UpYunFileHandler implements FileHandler { // Get md5 value of the file String md5OfFile = DigestUtils.md5DigestAsHex(file.getInputStream()); // Build file path - String upFilePath = ossSource + md5OfFile + '.' + extension; + String upFilePath = StringUtils.appendIfMissing(ossSource, "/") + md5OfFile + '.' + extension; // Set md5Content upYun.setContentMD5(md5OfFile); // Write file @@ -81,6 +81,7 @@ public class UpYunFileHandler implements FileHandler { UploadResult uploadResult = new UploadResult(); uploadResult.setFilename(basename); uploadResult.setFilePath(filePath); + uploadResult.setKey(upFilePath); uploadResult.setMediaType(MediaType.valueOf(Objects.requireNonNull(file.getContentType()))); uploadResult.setSuffix(extension); uploadResult.setSize(file.getSize());