搜索

首页  >  问答  >  正文

如何在 PHP 中上传之前更改 AWS s3 存储桶的文件内容类型

<p>我有以下代码,可让我成功地将文件上传到我的 S3 存储桶。</p> <pre class="brush:php;toolbar:false;">$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()); }</pre> <p>问题是他们下载而不是显示图像。我环顾四周,尝试添加: 'contentType' => 'image/png',这不会改变任何内容。该文件仍然作为 Value application/octet-stream 而不是 Jpg 图像上传。有办法改变这个吗?</p>
P粉739706089P粉739706089448 天前619

全部回复(1)我来回复

  • P粉523625080

    P粉5236250802023-09-03 10:27:07

    好吧,出于某种原因。

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

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

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

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

    回复
    0
  • 取消回复