バックエンドとして使用django-storages
しています。s3boto
static
1 つは 用、もう 1つは 用の 2 つのフォルダを持つ 1 つのバケットがありますmedia
。を使用してこれを達成しdjango-s3-folder-storage
ます。
モデルを使用して S3 に保存するだけでなく、画像のサイズ変更とキャッシュ機能を実装して、ファイルを S3 に保存したいと考えています。これを行うには、S3 バケットを直接操作します。コードは機能しますが、Content-Type
S3 に設定されていません。
iPythonで:
In [2]: from s3_folder_storage.s3 import DefaultStorage
In [3]: s3media = DefaultStorage()
In [4]: s3media
Out[4]: <s3_folder_storage.s3.DefaultStorage at 0x4788780>
正しいバケットにアクセスしていることをテストします。storage_test
以前に作成したものです。
In [5]: s3media.exists('storage_test')
Out[5]: True
In [6]: s3media.open("test.txt", "w")
Out[6]: <S3BotoStorageFile: test.txt>
In [7]: test = s3media.open("test.txt", "w")
In [8]: test
Out[8]: <S3BotoStorageFile: test.txt>
In [9]: test.key.content_type = "text/plain"
In [10]: test.write("...")
In [11]: test.close()
In [12]: test = s3media.open("test.txt", "w")
In [13]: test.key.content_type
Out[13]: 'binary/octet-stream'
andをIn [9]
使用する代わりに、私も試しました。彼らの誰もそれをしません。test.key.metadata
test.key.set_metadata
正しい Content-Type を設定するにはどうすればよいですか?