Pythonでアップロード後に画像サイズを圧縮する方法
PHPz
PHPz 2017-05-18 10:52:27
0
3
778

私は flask フレームワークを使用し、画像処理には pillow を使用します。

通常、アップロードはループ files で行われ、次に 1 つずつ file.save()
save# の後に を実行したいと考えています。 ## が完成しました。 枕 の圧縮ロジック。

ただし、

save は I/O 操作であるため遅延があるようです。file.save() の直下で pillow が呼び出された場合 #Image .openでは画像データが書き込まれていないためエラーとなります。 ###何をするか?

PHPz
PHPz

学习是最好的投资!

全員に返信(3)
習慣沉默

リーリー

保存操作が非同期ではないことがわかります


アップデート

copyfileobj はブロック操作です

https://github.com/pallets/we...

いいねを押す +0
阿神

実際、このタイプの画像処理には、Alibaba Cloud の OSS や Qiniu などの同様のストレージ機能を直接使用して、画像を OOS に直接アップロードし、指定された画像処理のために特別なサフィックスを呼び出すことをお勧めします。アドレスを処理するために OSS にもアクセスします。これにより、独自のサーバーを使用して画像を処理する負荷が回避されるだけでなく、アクセスのプレッシャーも軽減され、プログラムの複雑さを軽減するのにも非常に役立ちます。

いいねを押す +0
某草草

Image.open の fp パラメータを見てください。ファイル名 (文字列)、pathlib.Path オブジェクト、またはファイル オブジェクト PIL.Image.open(fp, mode='r') も使用できます。

ファイルを Image.open(file) に直接渡すだけです!

リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート