AWS S3またはDigital Ocean空間に画像を保存するためのdjango_storagesパッケージを使用しようとしています。Django:デジタルオーシャンスペース/ AWS S3、django_storagesを使用して画像を作成する方法
フォームを使用して通常の画像アップロードを使用すると、画像は正常にサーバーにアップロードされています。
しかし、イメージを手動で作成してS3またはDigital Ocean Spaceバケットに書き込もうとすると、イメージが正しく作成されません。
from PIL import Image, ImageDraw, ImageFont
img = Image.new('RGB', (500,500), (255,255,255))
d = ImageDraw.Draw(img)
d.text((10,10), "Hello", font=ImageFont.truetype("tahomabd"), fill='BLACK')
d.text((10,60), "World", font=ImageFont.truetype("tahomabd"), fill='BLACK')
from django.core.files.storage import default_storage as storage
JPEG_PATH = "pathtofile.jpeg"
storage.exists(JPEG_PATH)
storage.delete(JPEG_PATH)
JPEG_STORAGE = storage.open(JPEG_PATH, "w")
JPEG_STORAGE.write(img)
JPEG_STORAGE.close()
上記のコードは、保管場所に.JPEGファイルが作成されますが、それはどんな意味がありませんいくつかのデフォルトのファイルです:
後
は、私は、シェル上で実行され、たくさん試してみましたコードです。 コードの問題点をご提案ください。
'some default file'。これはどういう意味ですか? – Jason
私はイメージのサイズと内容は何であるかということを意味しました。同じサイズの同じサイズのデフォルトファイルを毎回58kbほど作成します。たとえば、500 x 500ピクセルのイメージを作成しようとしていますが、同じデフォルトファイルが作成されます。もし私が1000x1000を再び同じようにしようとすると。だから、画像ファイルを保存する方法を理解していない可能性があります。 –