安装过程
I followed this tutorial to install aws Package in Laravel 5.3
我的代码低于
$s3 = \App::make('aws')->createClient('s3');
$s3->putObject(array(
'Bucket' => 'Bucket_Name',
'Key' => 'AWS_ACCESS_KEY_ID',
'SourceFile' => 'http://domainname/sample.txt',
));
我正在尝试一个内容大约50字节的txt文件,并且误差低于。
无法为提供的上传计算sha256校验和 身体,因为它不可寻求。为了防止出现此错误,您可以 要么1)包含ContentMD5或ContentSHA256参数 要求,2)使用可寻找的身体流,或3)包裹 GuzzleHttp \ Psr7 \ CachingStream对象中不可搜索的流。您 但应该小心,并记住CachingStream使用 PHP临时流。这意味着流将是临时的 存储在本地磁盘上。
我错过了什么吗?
答案 0 :(得分:1)
SourceFile
必须是本地文件路径。 Body
参数允许使用流,因此您应该可以使用guzzle执行请求并将正文传递给它。
$client = new GuzzleHttp\Client();
$response = $client->get('http://domainname/sample.txt');
$s3->putObject([
'Bucket' => 'Bucket_Name',
'Key' => 'AWS_ACCESS_KEY_ID',
'Body' => $response->getBody(),
]);