我使用以下代码:
$file = Storage::disk('s3')->getDriver()->readStream(attachmentPath().$attachment->filename);
return \Response::stream(function() use($file) {
fpassthru($file);
}, 200, [
'Content-Type' => $attachment->mimetype,
'Content-Description' => 'File Transfer',
'Content-Disposition' => 'attachment; filename=' . $attachment->filename,
'Content-Length' => $attachment->size
]);
使用的变量响应(以pdf或jpg为例):
使用PDF,它可以很好地工作。
使用images / gif下载已损坏。
但无法弄清楚原因。我认为与标题或类似的东西有关。
有什么想法吗?
答案 0 :(得分:0)
尝试使用getObject方法并查看它是否有效(http://docs.aws.amazon.com/AmazonS3/latest/dev/RetrieveObjSingleOpPHP.html)
$downloader = $s3->getObject(array(
'Bucket' => $bucket,
'Key' => $object['Key'],
'SaveAs' => dirname(__FILE__)."/name_of_file.jpg"
));