feat(upload): detect and specify mime type for files uploaded to S3 and OSS (fix#1681)

This commit is contained in:
Aaron Liu
2023-05-25 19:51:51 +08:00
parent 4aafe1dc7a
commit 89ee147961
5 changed files with 22 additions and 9 deletions

View File

@@ -408,7 +408,7 @@ func (service *FileIDService) PutContent(ctx context.Context, c *gin.Context) se
}
fileData := fsctx.FileStream{
MIMEType: c.Request.Header.Get("Content-Type"),
MimeType: c.Request.Header.Get("Content-Type"),
File: c.Request.Body,
Size: fileSize,
Mode: fsctx.Overwrite,

View File

@@ -26,6 +26,7 @@ type CreateUploadSessionService struct {
Name string `json:"name" binding:"required"`
PolicyID string `json:"policy_id" binding:"required"`
LastModified int64 `json:"last_modified"`
MimeType string `json:"mime_type"`
}
// Create 创建新的上传会话
@@ -51,6 +52,7 @@ func (service *CreateUploadSessionService) Create(ctx context.Context, c *gin.Co
Name: service.Name,
VirtualPath: service.Path,
File: ioutil.NopCloser(strings.NewReader("")),
MimeType: service.MimeType,
}
if service.LastModified > 0 {
lastModified := time.UnixMilli(service.LastModified)
@@ -174,7 +176,7 @@ func processChunkUpload(ctx context.Context, c *gin.Context, fs *filesystem.File
}
fileData := fsctx.FileStream{
MIMEType: c.Request.Header.Get("Content-Type"),
MimeType: c.Request.Header.Get("Content-Type"),
File: c.Request.Body,
Size: fileSize,
Name: session.Name,