php转换图像并上传到亚马逊s3

时间:2010-12-31 16:47:45

标签: php file-upload amazon-s3

我正在寻找将图像上传到亚马逊s3服务器并从那里服务的最佳做法。

我们需要四种不同尺寸的图像。因此,在图像上传后,我们将图像和比例转换为4种不同的宽度和高度。然后我们使用官方的php api将它们发送到亚马逊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,而是将它们添加到作业队列可能更好。但是用户应该立即看到上传的图像。

1 个答案:

答案 0 :(得分:0)

您可以通过对文件进行排队来实现这一目的,例如:数据库,然后运行cron作业,或者持续运行php脚本。 如果您说您希望用户立即看到图像,他们是否应该立即在S3上看到它们?