S3 Force下载

时间:2015-06-25 19:47:50

标签: php wordpress amazon-s3

我在这里有一个网站http://www.voclr.it/acapellas/我的文件托管在我的Amazon S3帐户上,但是当访问者从我的网站上下载MP3时,它会强制它们流式传输但我真正希望它做的是将它下载到桌面。

我暂时在网站上禁用了S3,因此下载工作正常。但我真的想让S3搜索MP3

2 个答案:

答案 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