私は flask
フレームワークを使用し、画像処理には pillow
を使用します。
通常、アップロードはループ files
で行われ、次に 1 つずつ file.save()
save# の後に
を実行したいと考えています。 ## が完成しました。 枕 の圧縮ロジック。
save は I/O 操作であるため遅延があるようです。
file.save() の直下で
pillow が呼び出された場合 #Image .open
では画像データが書き込まれていないためエラーとなります。
###何をするか?
習慣沉默2017-05-18 10:54:27
リーリー
保存操作が非同期ではないことがわかります
アップデート
copyfileobj はブロック操作です
https://github.com/pallets/we...
阿神2017-05-18 10:54:27
実際、このタイプの画像処理には、Alibaba Cloud の OSS や Qiniu などの同様のストレージ機能を直接使用して、画像を OOS に直接アップロードし、指定された画像処理のために特別なサフィックスを呼び出すことをお勧めします。アドレスを処理するために OSS にもアクセスします。これにより、独自のサーバーを使用して画像を処理する負荷が回避されるだけでなく、アクセスのプレッシャーも軽減され、プログラムの複雑さを軽減するのにも非常に役立ちます。
某草草2017-05-18 10:54:27
Image.open の fp パラメータを見てください。ファイル名 (文字列)、pathlib.Path オブジェクト、またはファイル オブジェクト PIL.Image.open(fp, mode='r') も使用できます。
ファイルを Image.open(file) に直接渡すだけです!リーリー