diff --git a/app/services/bulk_upload/downloader.rb b/app/services/bulk_upload/downloader.rb index 5a2c92193..5a4072030 100644 --- a/app/services/bulk_upload/downloader.rb +++ b/app/services/bulk_upload/downloader.rb @@ -16,7 +16,11 @@ class BulkUpload::Downloader end def presigned_url - s3_storage_service.get_presigned_url(bulk_upload.identifier, 60) + s3_storage_service.get_presigned_url( + bulk_upload.identifier, + 60, + response_content_disposition: "attachment; filename=#{bulk_upload.filename}.csv" + ) end private diff --git a/app/services/storage/s3_service.rb b/app/services/storage/s3_service.rb index 3592eaa67..41c670949 100644 --- a/app/services/storage/s3_service.rb +++ b/app/services/storage/s3_service.rb @@ -20,10 +20,15 @@ module Storage response.key_count == 1 end - def get_presigned_url(file_name, duration) + def get_presigned_url(file_name, duration, response_content_disposition: nil) Aws::S3::Presigner .new({ client: @client }) - .presigned_url(:get_object, bucket: @configuration.bucket_name, key: file_name, expires_in: duration) + .presigned_url( + :get_object, + bucket: @configuration.bucket_name, + key: file_name, + expires_in: duration, + response_content_disposition: response_content_disposition,) end def get_file_io(file_name)