如何在 PHP 中上传之前更改 AWS s3 存储桶的文件内容类型
P粉739706089
P粉739706089 2023-09-02 15:55:35
[PHP讨论组]

我有以下代码,可让我成功地将文件上传到我的 S3 存储桶。

$keyName = 'test_example/' . basename($_FILES["fileToUpload"]['tmp_name']);
$pathInS3 = 'https://s3.eu-west-2.amazonaws.com/' . $bucketName . '/' . $keyName;

// Add it to S3
try {

    $s3->putObject(
        array(
            'Bucket'=>$bucketName,
            'Key' =>  $keyName,
                        'contentType' => 'image/png',

            'SourceFile' => $keyName,
            'StorageClass' => 'REDUCED_REDUNDANCY'
        )
    );

} catch (S3Exception $e) {
    die('Error:' . $e->getMessage());
} catch (Exception $e) {
    die('Error:' . $e->getMessage());
}

问题是他们下载而不是显示图像。我环顾四周,尝试添加: 'contentType' => 'image/png',这不会改变任何内容。该文件仍然作为 Value application/octet-stream 而不是 Jpg 图像上传。有办法改变这个吗?

P粉739706089
P粉739706089

全部回复(1)
P粉523625080

好吧,出于某种原因。

'contentType' => '图片/png',

对我不起作用。相反,我使用了

'ContentType' => '文本/纯文本',

我现在可以查看我的图像,而无需下载。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号