diff options
| author | Konstantin Lebedev <lebedev_k@tochka.com> | 2021-10-18 16:27:57 +0500 |
|---|---|---|
| committer | Konstantin Lebedev <lebedev_k@tochka.com> | 2021-10-18 16:27:57 +0500 |
| commit | dd2cc1acaf37efa7a58ce9df7cdc2d756ecfd473 (patch) | |
| tree | a0364c8a322880e7010e7a14add18bdf22dbb367 | |
| parent | 8cd7a0365b93dc3fcecfe252536c5024d19b508f (diff) | |
| download | seaweedfs-dd2cc1acaf37efa7a58ce9df7cdc2d756ecfd473.tar.xz seaweedfs-dd2cc1acaf37efa7a58ce9df7cdc2d756ecfd473.zip | |
fix https://github.com/chrislusf/seaweedfs/issues/2387
| -rw-r--r-- | weed/s3api/s3api_object_handlers.go | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/weed/s3api/s3api_object_handlers.go b/weed/s3api/s3api_object_handlers.go index 16f5f34f3..296501516 100644 --- a/weed/s3api/s3api_object_handlers.go +++ b/weed/s3api/s3api_object_handlers.go @@ -39,9 +39,12 @@ func init() { func mimeDetect(r *http.Request, dataReader io.Reader) io.ReadCloser { mimeBuffer := make([]byte, 512) - dataReader.Read(mimeBuffer) - r.Header.Set("Content-Type", http.DetectContentType(mimeBuffer)) - return io.NopCloser(io.MultiReader(bytes.NewReader(mimeBuffer), dataReader)) + size, _ := dataReader.Read(mimeBuffer) + if size > 0 { + r.Header.Set("Content-Type", http.DetectContentType(mimeBuffer)) + return io.NopCloser(io.MultiReader(bytes.NewReader(mimeBuffer[:size]), dataReader)) + } + return io.NopCloser(dataReader) } func (s3a *S3ApiServer) PutObjectHandler(w http.ResponseWriter, r *http.Request) { |
