さて、あなたがこれを尋ねてから長い時間が経ちましたが、私は同じ問題を抱えていました。誰かがこの問題を解決する必要がある場合に備えて、私の解決策をコミュニティと共有したいと思います。もちろん、Amazon S3コンソールからContent-TypeとContent-Dispositionを変更することはできますが、興味深いのはプログラムで変更することです。
次のコードは私にとってはうまく機能します:
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());
それが同じ問題で他の苦労を助けることができることを願っています。