ユーザーが画像をアップロードできる PHP スクリプトがあります。このイメージは一時ディレクトリに保存され、ユーザーに返されます。その後、ユーザーは JavaScript インターフェイスを使用して画像をトリミングできます。(x1,y2)(x2,y2) は、画像のトリミングに使用されるスクリプトに送信されます。その後、別のプレビューやトリミングのためにユーザーに返されます。ユーザーが十分に満足したら、「保存」をクリックします。一時ファイルが元のファイルにコピーされ、一時ファイルが削除されます。これらはユーザーごとの画像ではなく、機器の画像です。組織内のすべてのユーザーが、機器のイメージを置き換えることができます。このアプローチは優れていますが、いくつかの問題があります。
1) ユーザーがプレビュー用の画像をアップロードした後、ブラウザ ウィンドウを閉じたとします。一時ファイルが残ります。これは問題になる可能性があります。確かにCRONでクリーンアップできますが、理論的には大量の一時ファイルを持つことができます(これは醜いです)。cron は、編集中にユーザーの一時ファイルを削除することもできます。
2) 番号 1 に対処するために、equip1.temp やequip1.jpg など、機器ごとに一時ファイルを常に持つことができます。すべてのアップロードはequip1.tempに保存され、すべてのコミットはequip1.jpgに転送されます。2 人のユーザーが同じ機器の写真を同時にアップロードしようとすると、混乱する可能性があります (ほとんどありません + 問題ではありませんが、それでも醜いです)。
3)いつでも画像をやり取りできます(ユーザーが画像を「アップロード」すると、 としてエコーバックされます<img src="base64....." />
。結果の編集と元のbase64文字列が処理のためにPHPに送り返されます)。この解決策は一時ファイルの問題を緩和しますが、高解像度の画像をやり取りするのに数秒かかることに気付きました。
この状況にどのように対処しますか?