在我的laravel应用程序中,我有一个用于登录amazon s3的用户的图库。
现在我以这种方式下载每个缩略图和图像:
public function download($file_url){ // is safe, but slow...
$mime = \Storage::disk('s3')->getDriver()->getMimetype($file_url);
$size = \Storage::disk('s3')->getDriver()->getSize($file_url);
$response = [
'Content-Type' => $mime,
'Content-Length' => $size,
'Content-Description' => 'File Transfer',
'Content-Disposition' => "attachment; filename={$file_name}",
'Content-Transfer-Encoding' => 'binary',
];
return \Response::make(\Storage::disk('s3')->get($file_url), 200, $response);
}
这是安全的(因为我有一个路由器
middleware('auth')
,但非常服务器密集且速度慢。
是否可以直接从Amazon下载文件:
-
只为(在我的拉维尔)-loggedin用户(可能有一个临时下载链接)?
-
或
只有一个安全的唯一链接?