diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/FileManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/FileManageController.java
index 37d958a9..db6c442c 100644
--- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/FileManageController.java
+++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/FileManageController.java
@@ -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 = "删除文件")
     @DeleteMapping("/deleteFile")
     public boolean deleteFile(@RequestParam String fileId) throws Exception {
diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/FileManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/FileManageService.java
index 9e37b0be..e8f5a720 100644
--- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/FileManageService.java
+++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/FileManageService.java
@@ -19,4 +19,6 @@ public interface FileManageService {
     File downloadFile(String fileId) throws Exception;
 
     boolean deleteFile(String fileId) throws Exception;
+
+    String loadFileBase64(String fileId) throws Exception;
 }
diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/FileManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/FileManageServiceImpl.java
index f800ba5d..8fb08cdb 100644
--- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/FileManageServiceImpl.java
+++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/FileManageServiceImpl.java
@@ -1,9 +1,11 @@
 package com.supervision.manage.service.impl;
 
+import cn.hutool.core.codec.Base64;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.lang.Assert;
 import cn.hutool.core.util.StrUtil;
+import com.supervision.exception.BusinessException;
 import com.supervision.manage.service.FileManageService;
 import com.supervision.model.FileResource;
 import com.supervision.service.FileResourceService;
@@ -15,10 +17,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.InputStream;
+import java.io.*;
 import java.net.URLEncoder;
 import java.util.List;
 import java.util.Objects;
@@ -95,6 +94,9 @@ public class FileManageServiceImpl implements FileManageService {
                 outputStream.write(bytes, 0, len);
             }
             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.flush();
+        }catch (Exception e){
+            if (tempFile.exists()){
+                tempFile.delete();
+            }
+            log.error("文件下载失败",e);
+            throw new BusinessException("文件下载失败",e);
         }
         return tempFile;
     }
@@ -142,4 +150,11 @@ public class FileManageServiceImpl implements FileManageService {
         }
         return fileResourceService.removeById(fileId);
     }
+
+    @Override
+    public String loadFileBase64(String fileId) throws Exception {
+        File file = downloadFile(fileId);
+
+        return Base64.encode(new FileInputStream(file));
+    }
 }