From 75c98429bf95562b3f5c417fcb91df5156811b67 Mon Sep 17 00:00:00 2001 From: Xhofe Date: Fri, 29 Apr 2022 14:09:51 +0800 Subject: [PATCH] fix(webdav): wrong MIMEType (close #1007) --- server/webdav/file.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/server/webdav/file.go b/server/webdav/file.go index c26826b2..cdb89802 100644 --- a/server/webdav/file.go +++ b/server/webdav/file.go @@ -14,6 +14,7 @@ import ( "github.com/Xhofe/alist/server/common" "github.com/Xhofe/alist/utils" log "github.com/sirupsen/logrus" + "mime" "net" "net/http" "path" @@ -197,8 +198,15 @@ func (fs *FileSystem) Upload(ctx context.Context, r *http.Request, rawPath strin } else { delete(upFileMap, rawPath) } + mimeType := r.Header.Get("Content-Type") + if mimeType == "" || strings.ToLower(mimeType) == "application/octet-stream" { + mimeTypeTmp := mime.TypeByExtension(path.Ext(fileName)) + if mimeTypeTmp != "" { + mimeType = mimeTypeTmp + } + } fileData := model.FileStream{ - MIMEType: r.Header.Get("Content-Type"), + MIMEType: mimeType, File: r.Body, Size: fileSize, Name: fileName,