Compare commits

...

2 Commits

2 changed files with 16 additions and 3 deletions

View File

@ -1991,7 +1991,9 @@ func (s *S5API) downloadFile(jc jape.Context) {
return return
} }
jc.ResponseWriter.Header().Set("Content-Type", file.Mime()) if len(file.Mime()) > 0 {
jc.ResponseWriter.Header().Set("Content-Type", file.Mime())
}
http.ServeContent(jc.ResponseWriter, jc.Request, file.Name(), file.Modtime(), file) http.ServeContent(jc.ResponseWriter, jc.Request, file.Name(), file.Modtime(), file)
} }

View File

@ -188,7 +188,7 @@ func (t *TusHandler) Uploads(ctx context.Context, uploaderID uint) ([]models.Tus
return uploads, nil return uploads, nil
} }
func (t *TusHandler) CreateUpload(ctx context.Context, hash []byte, uploadID string, uploaderID uint, uploaderIP string, protocol string) (*models.TusUpload, error) { func (t *TusHandler) CreateUpload(ctx context.Context, hash []byte, uploadID string, uploaderID uint, uploaderIP string, protocol string, mimeType string) (*models.TusUpload, error) {
upload := &models.TusUpload{ upload := &models.TusUpload{
Hash: hash, Hash: hash,
UploadID: uploadID, UploadID: uploadID,
@ -196,6 +196,7 @@ func (t *TusHandler) CreateUpload(ctx context.Context, hash []byte, uploadID str
UploaderIP: uploaderIP, UploaderIP: uploaderIP,
Uploader: models.User{}, Uploader: models.User{},
Protocol: protocol, Protocol: protocol,
MimeType: mimeType,
} }
result := t.db.WithContext(ctx).Create(upload) result := t.db.WithContext(ctx).Create(upload)
@ -512,7 +513,17 @@ func (t *TusHandler) worker() {
continue continue
} }
_, err = t.CreateUpload(ctx, decodedHash.HashBytes(), info.Upload.ID, uploaderID, uploaderIP, t.storageProtocol.Name()) var mimeType string
for _, field := range []string{"mimeType", "mimetype", "filetype"} {
typ, ok := info.Upload.MetaData[field]
if ok {
mimeType = typ
break
}
}
_, err = t.CreateUpload(ctx, decodedHash.HashBytes(), info.Upload.ID, uploaderID, uploaderIP, t.storageProtocol.Name(), mimeType)
mutex.(*sync.Mutex).Unlock() mutex.(*sync.Mutex).Unlock()
if err != nil { if err != nil {
errorResponse.Body = "Could not create tus upload" errorResponse.Body = "Could not create tus upload"