【问题标题】:Image Uploading Management in phpphp中的图片上传管理
【发布时间】:2013-02-20 06:31:15
【问题描述】:

在我们的应用程序中,用户可以上传尺寸为 1024 X 768(约 150 KB)的图像。
当用户上传图片时,会发生以下事情:

1)图片上传到临时目录
2)将图像裁剪成四种不同的尺寸。
3)将原始图像及其裁剪图像上传到亚马逊s3服务器。

证明上述过程对用户来说非常耗时。

在使用 xdebug 进行分析后,似乎 90% 的时间都花在了在 amazon s3 上上传图像上。 我正在使用下面给出的方法将图像保存在 amazon s3 存储桶中

public function saveInBucket( $sourceLoc,$bucketName = '', $destinationLoc = '' ) {        
   if( $bucketName <> '' && $destinationLoc <> '' && $sourceLoc <> '') {   
        $s3 = new AmazonS3();
        $response = $s3->create_object( $bucketName.'.xyz.com',$destinationLoc, array(
                                            'contentType' => 'application/force-download',
                                            'acl' => AmazonS3::ACL_PUBLIC,
                                            'fileUpload' => $sourceLoc
                                            )
                                       );

        if ( ( int ) $response->isOK() ) {
            return TRUE;
        }

        $this->ErrorMessage = 'File upload operation failed,Please try again later';
        return FALSE;
    }
    return FALSE;
}     

我也想过将图像直接上传到亚马逊 s3,但我不能这样做,因为我还必须将图像裁剪成 4 种不同的尺寸
如何加快或改进图像管理流程。

【问题讨论】:

    标签: php image-processing amazon-s3


    【解决方案1】:

    这件事以前发生在我身上。你可以做的是:

    当您调整图像大小时,您必须转换为字符串。 我正在使用 WideImage 类。

    例子:

        $image = WideImage::load($_FILES["file"]['tmp_name']);
        $resized = $image->resize(1024);
        $data = $resized->asString('jpg');
    

    然后当您在亚马逊上上传时,您必须使用参数“body”而不是“fileUpload”。

    例子:

        $response = $s3->create_object( $bucketName.'.xyz.com',$destinationLoc, array(
                                            'contentType' => 'application/force-download',
                                            'acl' => AmazonS3::ACL_PUBLIC,
                                            'body' => $data
                                            )
                                       );
    

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-07
      • 2015-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多