1: manage: 添加获取文件base64的编码接口

pull/1/head
xueqingkun 1 year ago
parent 6b82310adb
commit ed7673de24

@ -34,6 +34,15 @@ public class FileManageController {
} }
@Operation(summary = "获取文件base64的编码")
@GetMapping("/loadFileBase64")
public String loadFileBase64(@RequestParam String fileId) throws Exception {
return fileManageService.loadFileBase64(fileId);
}
@Operation(summary = "删除文件") @Operation(summary = "删除文件")
@DeleteMapping("/deleteFile") @DeleteMapping("/deleteFile")
public boolean deleteFile(@RequestParam String fileId) throws Exception { public boolean deleteFile(@RequestParam String fileId) throws Exception {

@ -19,4 +19,6 @@ public interface FileManageService {
File downloadFile(String fileId) throws Exception; File downloadFile(String fileId) throws Exception;
boolean deleteFile(String fileId) throws Exception; boolean deleteFile(String fileId) throws Exception;
String loadFileBase64(String fileId) throws Exception;
} }

@ -1,9 +1,11 @@
package com.supervision.manage.service.impl; package com.supervision.manage.service.impl;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.supervision.exception.BusinessException;
import com.supervision.manage.service.FileManageService; import com.supervision.manage.service.FileManageService;
import com.supervision.model.FileResource; import com.supervision.model.FileResource;
import com.supervision.service.FileResourceService; import com.supervision.service.FileResourceService;
@ -15,10 +17,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.BufferedInputStream; import java.io.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@ -95,6 +94,9 @@ public class FileManageServiceImpl implements FileManageService {
outputStream.write(bytes, 0, len); outputStream.write(bytes, 0, len);
} }
outputStream.flush(); outputStream.flush();
}catch (Exception e){
log.error("文件下载失败",e);
throw new BusinessException("下载文件失败",e);
} }
} }
@ -123,6 +125,12 @@ public class FileManageServiceImpl implements FileManageService {
fileOutputStream.write(bytes, 0, len); fileOutputStream.write(bytes, 0, len);
} }
fileOutputStream.flush(); fileOutputStream.flush();
}catch (Exception e){
if (tempFile.exists()){
tempFile.delete();
}
log.error("文件下载失败",e);
throw new BusinessException("文件下载失败",e);
} }
return tempFile; return tempFile;
} }
@ -142,4 +150,11 @@ public class FileManageServiceImpl implements FileManageService {
} }
return fileResourceService.removeById(fileId); return fileResourceService.removeById(fileId);
} }
@Override
public String loadFileBase64(String fileId) throws Exception {
File file = downloadFile(fileId);
return Base64.encode(new FileInputStream(file));
}
} }

Loading…
Cancel
Save