1
amazon s3 serverに画像をアップロードし、そこから提供している最中にベストプラクティスを探しています。php画像を変換してamazon s3にアップロード
イメージには4つの異なるサイズが必要です。画像をアップロードした直後に、4つの異なる幅と高さで画像とスケールを変換します。そして、公式のphp apiを使ってamazon s3に送信します。
// ...
// image conversions, bucket setting, s3 initialization etc.
$sizes= array("", "48", "64", "128");
foreach($sizes as $size) {
$filename = $upload_path.$dest_file.$size.$ext;
$s3->batch()->create_object($bucket, , array(
'fileUpload' => $filename,
'acl' => AmazonS3::ACL_PUBLIC,
));
}
しかし、1Mイメージの場合、クライアントは30秒まで待つことがあり、非常に長い時間です。
イメージをすぐにS3に送信する代わりに、ジョブキューに追加する方がよい場合があります。しかし、ユーザーはアップロードした画像を直ちに見るべきです。
私たちのウェブサーバは機能することができますが、PHPコードではもっと複雑になる必要があります。画像のアップロード状況はdbに保存されます。それは当分の間、唯一の解決策と思われる。 – faraklit
さて、サーバー上のイメージを処理し、キューデータベースに追加し、それをユーザーに表示してから、S3にアップロードするバックグラウンドタスクを実行しますか? – Ben
はい、まだアップロードされているかどうかを確認し、それに応じてアドレスを設定するには、画像テーブルのフィールドを追加する必要があります。 – faraklit