0
我試圖從Shopify傳輸文件到S3,並且出現此錯誤: 「您必須爲Body或SourceFile參數指定非空值。我相信這是因爲我從遠程位置傳輸文件,但我不知道如何解決此問題。我已驗證遠程文件確實存在,並且如果使用表單上傳,我的代碼工作正常。複製遠程文件到S3
我的代碼:
require dirname(__FILE__).'/../../vendor/autoload.php';
use Aws\S3\S3Client;
$s3Client = null;
$bucket="mybucketname";
$myfile="myfilename.jpg";
$mypath="https://shopifyfilepath/".$myfile;
function SendFileToS3($filename, $filepath, $bucket)
{
global $s3Client;
if (!$s3Client)
{
$s3Client = S3Client::factory(array(
'key' => $_SERVER["AWS_ACCESS_KEY_ID"],
'secret' => $_SERVER["AWS_SECRET_KEY"]
));
}
$result = $s3Client->putObject(array(
'Bucket' => $bucket,
'Key' => $filename,
'SourceFile' => $filepath,
'ACL' => 'public-read'
));
return $result;
}
SendFileToS3($myfile, $mypath, $bucket);