fix(uploader): failed to generate upload token for some file types (#2847) (#2900)

* fix(mime): `mimeType` not assigned to new value when is empty

* fix(mime): add fallback mime type
master
Darren Yu 3 days ago committed by GitHub
parent 3b8110b648
commit 58ceae9708
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -244,7 +244,7 @@ func (handler *Driver) Put(ctx context.Context, file *fs.UploadRequest) error {
mimeType := file.Props.MimeType mimeType := file.Props.MimeType
if mimeType == "" { if mimeType == "" {
handler.mime.TypeByName(file.Props.Uri.Name()) mimeType = handler.mime.TypeByName(file.Props.Uri.Name())
} }
// 是否允许覆盖 // 是否允许覆盖
@ -455,7 +455,7 @@ func (handler Driver) Token(ctx context.Context, uploadSession *fs.UploadSession
mimeType := file.Props.MimeType mimeType := file.Props.MimeType
if mimeType == "" { if mimeType == "" {
handler.mime.TypeByName(file.Props.Uri.Name()) mimeType = handler.mime.TypeByName(file.Props.Uri.Name())
} }
// 初始化分片上传 // 初始化分片上传

@ -219,7 +219,7 @@ func (handler *Driver) Put(ctx context.Context, file *fs.UploadRequest) error {
mimeType := file.Props.MimeType mimeType := file.Props.MimeType
if mimeType == "" { if mimeType == "" {
handler.mime.TypeByName(file.Props.Uri.Name()) mimeType = handler.mime.TypeByName(file.Props.Uri.Name())
} }
_, err := uploader.UploadWithContext(ctx, &s3manager.UploadInput{ _, err := uploader.UploadWithContext(ctx, &s3manager.UploadInput{
@ -399,7 +399,7 @@ func (handler *Driver) Token(ctx context.Context, uploadSession *fs.UploadSessio
mimeType := file.Props.MimeType mimeType := file.Props.MimeType
if mimeType == "" { if mimeType == "" {
handler.mime.TypeByName(file.Props.Uri.Name()) mimeType = handler.mime.TypeByName(file.Props.Uri.Name())
} }
// 创建分片上传 // 创建分片上传

@ -240,7 +240,7 @@ func (handler *Driver) Put(ctx context.Context, file *fs.UploadRequest) error {
mimeType := file.Props.MimeType mimeType := file.Props.MimeType
if mimeType == "" { if mimeType == "" {
handler.mime.TypeByName(file.Props.Uri.Name()) mimeType = handler.mime.TypeByName(file.Props.Uri.Name())
} }
// 是否允许覆盖 // 是否允许覆盖
@ -450,7 +450,7 @@ func (handler *Driver) Token(ctx context.Context, uploadSession *fs.UploadSessio
mimeType := file.Props.MimeType mimeType := file.Props.MimeType
if mimeType == "" { if mimeType == "" {
handler.mime.TypeByName(file.Props.Uri.Name()) mimeType = handler.mime.TypeByName(file.Props.Uri.Name())
} }
// 初始化分片上传 // 初始化分片上传

@ -223,7 +223,7 @@ func (handler *Driver) Put(ctx context.Context, file *fs.UploadRequest) error {
mimeType := file.Props.MimeType mimeType := file.Props.MimeType
if mimeType == "" { if mimeType == "" {
handler.mime.TypeByName(file.Props.Uri.Name()) mimeType = handler.mime.TypeByName(file.Props.Uri.Name())
} }
err = resumeUploader.CompleteParts(ctx, upToken, upHost, nil, handler.policy.BucketName, err = resumeUploader.CompleteParts(ctx, upToken, upHost, nil, handler.policy.BucketName,
@ -389,7 +389,7 @@ func (handler *Driver) Token(ctx context.Context, uploadSession *fs.UploadSessio
mimeType := file.Props.MimeType mimeType := file.Props.MimeType
if mimeType == "" { if mimeType == "" {
handler.mime.TypeByName(file.Props.Uri.Name()) mimeType = handler.mime.TypeByName(file.Props.Uri.Name())
} }
uploadSession.UploadID = ret.UploadID uploadSession.UploadID = ret.UploadID

@ -207,7 +207,7 @@ func (handler *Driver) Put(ctx context.Context, file *fs.UploadRequest) error {
mimeType := file.Props.MimeType mimeType := file.Props.MimeType
if mimeType == "" { if mimeType == "" {
handler.mime.TypeByName(file.Props.Uri.Name()) mimeType = handler.mime.TypeByName(file.Props.Uri.Name())
} }
_, err := uploader.UploadWithContext(ctx, &s3manager.UploadInput{ _, err := uploader.UploadWithContext(ctx, &s3manager.UploadInput{
@ -344,7 +344,7 @@ func (handler *Driver) Token(ctx context.Context, uploadSession *fs.UploadSessio
mimeType := file.Props.MimeType mimeType := file.Props.MimeType
if mimeType == "" { if mimeType == "" {
handler.mime.TypeByName(file.Props.Uri.Name()) mimeType = handler.mime.TypeByName(file.Props.Uri.Name())
} }
// 创建分片上传 // 创建分片上传

@ -161,7 +161,7 @@ func (handler *Driver) Put(ctx context.Context, file *fs.UploadRequest) error {
mimeType := file.Props.MimeType mimeType := file.Props.MimeType
if mimeType == "" { if mimeType == "" {
handler.mime.TypeByName(file.Props.Uri.Name()) mimeType = handler.mime.TypeByName(file.Props.Uri.Name())
} }
err := handler.up.Put(&upyun.PutObjectConfig{ err := handler.up.Put(&upyun.PutObjectConfig{
@ -309,7 +309,7 @@ func (handler *Driver) Token(ctx context.Context, uploadSession *fs.UploadSessio
mimeType := file.Props.MimeType mimeType := file.Props.MimeType
if mimeType == "" { if mimeType == "" {
handler.mime.TypeByName(file.Props.Uri.Name()) mimeType = handler.mime.TypeByName(file.Props.Uri.Name())
} }
return &fs.UploadCredential{ return &fs.UploadCredential{

@ -36,5 +36,11 @@ func (d *mimeDetector) TypeByName(p string) string {
return m return m
} }
return mime.TypeByExtension(ext) m := mime.TypeByExtension(ext)
if m != "" {
return m
}
// Fallback
return "application/octet-stream"
} }

Loading…
Cancel
Save