Fix attachments not displaying inline with Google Cloud Storage
There were several issues:
-
With Google Cloud Storage, we can't override the
Content-Type
withResponse-Content-Type
once it is set. Setting the value toapplication/octet-stream
doesn't buy us anything. GCS defaults toapplication/octet-stream
, and AWS usesbinary/octet-stream
. Just remove thisContent-Type
when we upload new files. -
CarrierWave and fog-google need to support query parameters: https://github.com/fog/fog-google/pull/409/files, https://github.com/carrierwaveuploader/carrierwave/pull/2332/files. CarrierWave has been monkey-patched until an official release.
-
Workhorse also needs to remove the
Content-Type
header in the request (https://gitlab.com/gitlab-org/gitlab-workhorse/blob/ef80978ff89e628c8eeb66556720e30587d3deb6/internal/objectstore/object.go#L66), or we'll get a 403 error when uploading due to signed URLs not matching the headers. Upgrading to Workhorse 6.1.0 for gitlab-workhorse!297 (merged) will make Workhorse use the headers that are used by Rails.
Closes #49957 (closed)