添加文件操作相关内容

master
dfz 2 weeks ago
parent ac9ba2f056
commit e86d34ef00

@ -292,8 +292,8 @@ file_path|form-data|string|必填
{
{
"code": 200,
"data": "文件获取成功",
"msg": "Success"
"data": "5Z+65LqO5aSn5bCP5qih5Z6L5Y2P5ZCM55qE5Zyo57q/57yW6L6R5Zmo",
"msg": "Success - 文件获取成功"
}
}
```

@ -56,7 +56,7 @@ func (f *File) Get(context *gin.Context) {
file_Name := context.GetString(consts.ValidatorPrefix + "file_name")
final_Path := fmt.Sprintf("%s/%s", file_Path, file_Name)
fileObj, err := file.GetFile(user_name, final_Path)
fileContentBase64, err := file.GetFile(user_name, final_Path)
if err != nil {
// 根据不同的错误类型,返回更具体、合适的错误响应给客户端
switch err := err.(type) {
@ -72,10 +72,9 @@ func (f *File) Get(context *gin.Context) {
}
return
}
defer fileObj.Close() // 确保文件使用完后被关闭
// 文件获取成功,返回成功响应给客户端
response.Success(context, consts.CurdStatusOkMsg, "文件获取成功")
response.Success(context, consts.CurdStatusOkMsg+" - "+"文件获取成功", fileContentBase64)
}
// 文件重命名

@ -1,26 +1,30 @@
package file
import (
"encoding/base64"
"os"
"path/filepath"
)
func GetFile(userName, filePath string) (*os.File, error) {
// 打开文件将对应文件转换为base64格式后返回前端
func GetFile(userName, filePath string) (string, error) {
// 获取main.go所在的目录
currentDir, err := os.Getwd()
if err != nil {
return nil, err
return "", err
}
baseDir := filepath.Join(currentDir, "file_library")
fullFilePath := filepath.Join(baseDir, userName, filePath)
file, err := os.Open(fullFilePath)
fileContent, err := os.ReadFile(fullFilePath)
if err != nil {
return nil, err
return "", err
}
return file, nil
// 将文件内容转换为base64格式
fileContentBase64 := base64.StdEncoding.EncodeToString(fileContent)
return fileContentBase64, nil
}

Loading…
Cancel
Save