[英]Download private objects amazon s3 api
我正在使用Amazon S3 php上传和下载文件。
例如从amazon s3获取私有文件,我正在使用:
// Cast the body to a primitive string
$bodyAsString = (string) $object['Body'];
和
public function getResponse($content, $filename, $length, $contentType)
{
$response = new Response();
$response->headers->set('Content-Description','File Transfer');
$response->headers->set('Content-Type',$contentType);
$response->headers->set('Content-Disposition','attachment; filename='.basename($filename));
$response->headers->set('Content-Transfer-Encoding','binary');
$response->headers->set('Expires','0');
$response->headers->set('Cache-Control','must-revalidate');
$response->headers->set('Pragma','public');
$response->headers->set('Content-Length',$length);
$response->setContent($content);
return $response;
}
下载
但这对于服务器来说非常繁重,是否有一种解决方案可以使用链接直接从amazon s3下载私有对象,有点像具有安全性的公共对象。
您可以为具有到期日期的对象创建预签名的URL。 您可以使用此功能允许人们直接从Amazon S3下载私有对象。 适用于PHP的AWS开发工具包具有一个简单的S3Client::getObjectUrl()
方法 ,可以帮助您执行此操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.