diff --git a/storages/backends/azure_storage.py b/storages/backends/azure_storage.py index 206c3c3f7..1c4e52508 100644 --- a/storages/backends/azure_storage.py +++ b/storages/backends/azure_storage.py @@ -239,10 +239,17 @@ def size(self, name): timeout=self.timeout).properties return properties.content_length + def content_disposition(self, name): + """ + Override this method to adjust this on a per-object basis to set ContentDisposition. + """ + return None + def _save(self, name, content): cleaned_name = clean_name(name) name = self._get_valid_path(name) guessed_type, content_encoding = mimetypes.guess_type(name) + content_disposition = self.content_disposition(name) content_type = ( _content_type(content) or guessed_type or @@ -260,6 +267,7 @@ def _save(self, name, content): content_settings=ContentSettings( content_type=content_type, content_encoding=content_encoding, + content_disposition=content_disposition, cache_control=self.cache_control), max_connections=self.upload_max_conn, timeout=self.timeout) diff --git a/tests/test_azure.py b/tests/test_azure.py index 8d5b57be9..0db99edf2 100644 --- a/tests/test_azure.py +++ b/tests/test_azure.py @@ -297,6 +297,7 @@ def test_storage_save(self): c_mocked.assert_called_once_with( content_type='text/plain', content_encoding=None, + content_disposition=None, cache_control=None) def test_storage_open_write(self):