fix: 文件下载接口无文件响应json

This commit is contained in:
TsMask
2024-04-12 17:25:06 +08:00
parent 15445c8e59
commit 608d726e54
2 changed files with 8 additions and 10 deletions

View File

@@ -177,13 +177,13 @@ func ReadUploadFileStream(filePath, headerRange string) (map[string]any, error)
"range": "",
"chunkSize": 0,
"fileSize": 0,
"data": nil,
"data": []byte{},
}
// 文件大小
fileSize := getFileSize(fileAsbPath)
if fileSize <= 0 {
return result, nil
return result, fmt.Errorf("file does not exist")
}
result["fileSize"] = fileSize

View File

@@ -43,13 +43,6 @@ func (s *FileController) Download(c *gin.Context) {
return
}
routerPath := string(decodedBytes)
// 地址文件名截取
fileName := routerPath[strings.LastIndex(routerPath, "/")+1:]
// 响应头
c.Writer.Header().Set("Content-Disposition", `attachment; filename="`+url.QueryEscape(fileName)+`"`)
c.Writer.Header().Set("Accept-Ranges", "bytes")
c.Writer.Header().Set("Content-Type", "application/octet-stream")
// 断点续传
headerRange := c.GetHeader("Range")
@@ -58,6 +51,12 @@ func (s *FileController) Download(c *gin.Context) {
c.JSON(200, result.ErrMsg(err.Error()))
return
}
// 响应头
c.Writer.Header().Set("Content-Disposition", `attachment; filename="`+url.QueryEscape(filepath.Base(routerPath))+`"`)
c.Writer.Header().Set("Accept-Ranges", "bytes")
c.Writer.Header().Set("Content-Type", "application/octet-stream")
if headerRange != "" {
c.Writer.Header().Set("Content-Range", fmt.Sprint(resultMap["range"]))
c.Writer.Header().Set("Content-Length", fmt.Sprint(resultMap["chunkSize"]))
@@ -65,7 +64,6 @@ func (s *FileController) Download(c *gin.Context) {
} else {
c.Writer.Header().Set("Content-Length", fmt.Sprint(resultMap["fileSize"]))
c.Status(200)
}
c.Writer.Write(resultMap["data"].([]byte))
}