diff options
author | Alessio Caiazza <acaiazza@gitlab.com> | 2018-02-12 17:19:25 +0100 |
---|---|---|
committer | Alessio Caiazza <acaiazza@gitlab.com> | 2018-02-12 17:31:29 +0100 |
commit | 34c2a59c5794179d04c96a2df53a6ed3bd72d6b5 (patch) | |
tree | dc4b1e93c53517ad400ccb276cc17815f375f5f7 /lib | |
parent | 7611ec4eef7d543b9e32894a015c5b0a4c5caeec (diff) | |
download | gitlab-ce-34c2a59c5794179d04c96a2df53a6ed3bd72d6b5.tar.gz |
Honour workhorse provided file nameac/4878-fix-attachments-ext
In the attempt to unify file uploading at workhorse level gitlab-org/gitlab-workhorse!230
we moved to a prefix-based tempfile creation in order to avoid upload collisions.
Artifacts and LFS uploads already set original_filename to workhorse provided filename
This commit add the same feature to `Gitlab::Middleware::Multipart`
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/middleware/multipart.rb | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/gitlab/middleware/multipart.rb b/lib/gitlab/middleware/multipart.rb index cc1e92480be..d4c54049b74 100644 --- a/lib/gitlab/middleware/multipart.rb +++ b/lib/gitlab/middleware/multipart.rb @@ -42,7 +42,7 @@ module Gitlab key, value = parsed_field.first if value.nil? - value = open_file(tmp_path) + value = open_file(tmp_path, @request.params["#{key}.name"]) @open_files << value else value = decorate_params_value(value, @request.params[key], tmp_path) @@ -70,7 +70,7 @@ module Gitlab case path_value when nil - value_hash[path_key] = open_file(tmp_path) + value_hash[path_key] = open_file(tmp_path, value_hash.dig(path_key, '.name')) @open_files << value_hash[path_key] value_hash when Hash @@ -81,8 +81,8 @@ module Gitlab end end - def open_file(path) - ::UploadedFile.new(path, File.basename(path), 'application/octet-stream') + def open_file(path, name) + ::UploadedFile.new(path, name || File.basename(path), 'application/octet-stream') end end |