繁体   English   中英

通过Amazon s3 php类强制下载文件

[英]force file download via amazon s3 php class

我的应用程序使用tpyo / amazon-s3-php-class将对象放置到Amazon S3存储中或从中获取对象。

文件不是公开可用的,我希望我的用户能够通过我的应用程序下载私人文件。

amazon-s3-php-class提供了两个选项来获取文件:

  1. 将对象保存到文件: S3::getObject($bucketName, $uploadName, $saveName)
  2. 将对象保存到任何类型的资源中: S3::getObject($bucketName, $uploadName, fopen('savefile.txt', 'wb'))

但是两种方法都将文件保存到我的Web服务器。 如何强制将文件下载到客户端的计算机?

我相信您可以使用第二个选项,将输出缓冲区作为fopen的文件名参数传递(设置正确的标头之后):

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
//etc etc

S3::getObject($bucketName, $uploadName, fopen('php://output', 'wb'));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM