Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 5 使用Laravel 5.3在S3中上载文件_Laravel 5_Laravel 5.2_Laravel 5.1_Laravel 5.3 - Fatal编程技术网

Laravel 5 使用Laravel 5.3在S3中上载文件

Laravel 5 使用Laravel 5.3在S3中上载文件,laravel-5,laravel-5.2,laravel-5.1,laravel-5.3,Laravel 5,Laravel 5.2,Laravel 5.1,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字节内容的tx

安装过程

我的代码在下面

$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临时流。这意味着该流将暂时关闭 存储在本地磁盘上


我缺少什么吗?

SourceFile
必须是本地文件路径。
Body
参数允许流,因此您应该能够使用guzzle执行请求并将Body传递给它

$client = new GuzzleHttp\Client();
$response = $client->get('http://domainname/sample.txt');

$s3->putObject([
    'Bucket' => 'Bucket_Name',
    'Key' => 'AWS_ACCESS_KEY_ID',
    'Body' => $response->getBody(),
]);