使用SimpleImage调整图像大小并将其直接发送到Amazon S3

时间:2017-06-23 20:39:11

标签: php amazon-s3

上传图片后,我使用SimpleImage调整大小并发送到AWS S3。今天我将图像保存在本地磁盘中,发送到S3然后删除本地文件。我想跳过步骤保存并删除本地文件。

我试过了:

$S3->putObject([
    'Bucket' => 'mybucket',
    'Key'    => 'myfile.jpeg',
    'Body'   => (new SimpleImage('/path/to/myfile.jpeg'))
                    ->bestFit(
                        800,
                        600
                    )->toString();
]);

该文件已被发送,但当我在AWS S3上访问其公共URL时,浏览器会尝试下载该文件而不显示该文件。

欢迎任何帮助!

1 个答案:

答案 0 :(得分:1)

您需要公开对象并添加ContentType

$S3->putObject([
    'Bucket'      => 'mybucket',
    'Key'         => 'myfile.jpeg',
    'ContentType' => 'image/jpeg',     // <-- add this line
    'Body'        => (new SimpleImage('/path/to/myfile.jpeg'))
                        ->bestFit(
                            800,
                            600
                      )->toString();
]);