我在这里有一个网站http://www.voclr.it/acapellas/我的文件托管在我的Amazon S3帐户上,但是当访问者从我的网站上下载MP3时,它会强制它们流式传输但我真正希望它做的是将它下载到桌面。
我暂时在网站上禁用了S3,因此下载工作正常。但我真的想让S3搜索MP3
答案 0 :(得分:0)
基本上,您必须告诉S3覆盖响应的content-disposition
标头。您可以通过将response-content-disposition
查询字符串参数附加到S3文件URL并将其设置为所需的content-disposition
值来实现。要强行下载,请尝试:
<url>&response-content-disposition="attachment; filename=somefilename"
您可以在S3 docs中找到它。有关content-disposition
标头可以假设的值的信息,您可以查看here。
作为附加信息,这也适用于Google云端存储。
答案 1 :(得分:0)
require_once '../sdk-1.4.2.1/sdk.class.php';
// Instantiate the class
$s3 = new AmazonS3();
// Copy object over itself and modify headers
$response = $s3->copy_object(
array( // Source
'bucket' => 'your_bucket',
'filename' => 'Key/To/YourFile'
),
array( // Destination
'bucket' => 'your_bucket',
'filename' => 'Key/To/YourFile'
),
array( // Optional parameters
**'headers' => array(
'Content-Type' => 'application/octet-stream',
'Content-Disposition' => 'attachment'**
)
)
);
// Success?
var_dump($response->isOK());
Amazon AWS S3 to Force Download Mp3 File instead of Stream It