使用PHP处理AWS S3存储桶中的jpg图像属性

时间:2019-05-29 22:42:30

标签: php image amazon-s3 aws-sdk

我的任务是根据一组业务规则调整大小并可能旋转存储在S3存储桶中的图像。

以下功能能够检索和回显对象键:

public function retrieveObjects($orderNumber)
{
    try {
        $objects = $this->s3Client->listObjects([
            'Bucket' => 'designproofs',
            'Prefix' => $this->path . $orderNumber . '/'
        ]);
        if(is_array($objects['Contents'])) {
            foreach ($objects['Contents'] as $object) {
                $result = $this->s3Client->getObject([
                    'Bucket' => 'designproofs',
                    'Key'   => $object['Key'],
                ]);
                echo $object['Key'] . "<br>";

            }
        }
        else{
            echo $objects['Key'] . "<br>";
            echo $result['Body'] . "<br>";
        }
    } catch (S3Exception $e) {
        echo $e->getMessage() . PHP_EOL;
    }
}

$result['Body']似乎是二进制图像数据-尽管我不确定。

我可以将这些图像存储在变量中并进行操作,而无需将文件写入物理介质(HDD等)吗?

*编辑*

可以通过以下方式轻松存储图像:

$result = $this->s3Client->getObject([
    'Bucket' => 'easyflow-designproofs',
    'Key' => $object['Key'],
    'SaveAs' => 'upload/temp_images/' . $fileName
]);

0 个答案:

没有答案