gpt4 book ai didi

php - AWS S3 - 无法使用 getObject() 和 PHP 保存文件

转载 作者:行者123 更新时间:2023-12-04 03:01:03 25 4
gpt4 key购买 nike

我对使用 AWS 比较陌生,并且坚持我认为应该是一项基本任务。我正在使用 PHP SDK 版本 2 将文件从我的一个存储桶检索到我服务器上的临时目录。根据documentation我可以使用 getObject 来做到这一点。使用以下代码片段,我可以检索文件,但无法将实际内容保存到临时目录。

#1

$result = $s3->getObject(array(
"Bucket" => $s3Bucket,
"Key" => $s3Path,
"ResponseContentType" => "image/jpeg",
"SaveAs" => EntityBody::factory(fopen($saveFile, "wb"))
));

#2

$result = $s3->getObject(array(
"Bucket" => $s3Bucket,
"Key" => $s3Path,
"ResponseContentType" => "image/jpeg",
"SaveAs" => fopen($saveFile, "wb")
));

这两个请求都是成功的,因为它们返回了对象,但我仍然得到一个 0 字节的 tmp 文件。对此的任何见解都非常受欢迎。

谢谢!

最佳答案

你可以试试

use Guzzle\Http\EntityBody;

$s3Client->getObject(array(
'Bucket' => $s3Bucket,
'Key' => $s3Path,
'command.response_body' => EntityBody::factory(fopen($saveFile, 'w+'))
));

还有

$result = $s3Client->getObject(array(
'Bucket' => $s3Bucket,
'Key' => $s3Path
));

file_put_contents ($saveFile, (string) $result['Body']);

关于php - AWS S3 - 无法使用 getObject() 和 PHP 保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14590806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com