【发布时间】:2016-11-21 07:18:40
【问题描述】:
我正在使用 the PHP Flysystem 包从我的 Amazon S3 存储桶流式传输内容。特别是,我使用的是$filesystem->readStream。
我的问题
当我流式传输文件时,它以 myzip.zip 结尾,并且大小正确,但解压缩时,它变成 myzip.zip.cpgz。这是我的原型:
header('Pragma: no-cache');
header('Content-Description: File Download');
header('Content-disposition: attachment; filename="myZip.zip"');
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
$s3 = Storage::disk('s3'); // Laravel Syntax
echo $s3->readStream('directory/file.jpg');
我做错了什么?
附带问题
当我像这样流式传输文件时,会这样做吗:
- 完全下载到我服务器的 RAM 中,然后传输到客户端,或者
- 它是否以块的形式保存在缓冲区中,然后传输到客户端?
基本上,如果我有数十 GB 的数据正在流式传输,我的服务器是否会受到负担?
【问题讨论】:
标签: php amazon-web-services amazon-s3 zip streaming