Pertanyaan Cara mengatur Header Content-Disposition sebagai default pada Amazon S3 Bucket


Masalah yang saya miliki adalah bahwa saya membutuhkan Konten-Disposisi: lampiran tajuk ada di SETIAP file yang mengenai keranjang saya.

Di Wordpress, saya hanya bisa menggunakan .htaccess untuk menutupi tipe file yang dipermasalahkan (video), tetapi aturan tersebut tidak meluas ke pengeditan S3 saya yang hanya coba dibuka oleh browser, alih-alih mengunduh.

Saya memerlukan solusi otomatis / default, karena saya bukan satu-satunya yang mengunggah file-file ini (staf kami mengunggah melalui Wordpress, dan semua unggahan disimpan di keranjang S3 kami). Jadi menggunakan Cloudberry atau peramban lain tidak berguna untuk situasi ini. Saya tidak dapat menyesuaikan file pada basis per file (upload terlalu sering).

Apakah ada cara untuk melakukan ini?

(Informasi lain: Saya menggunakan plugin "Amazon S3 dan Cloudfront" di Wordpress yang bertanggung jawab untuk menghubungkan keduanya bersama. Sayangnya, situs ini tidak bersifat publik, jadi saya tidak dapat menautkannya.)


4
2017-10-22 03:10


asal


Jawaban:


Sayangnya tidak ada cara untuk mengatur ini untuk seluruh bucket di S3, dan juga Cloudfront hanya dapat mengatur Cache-Headers

Tapi kamu bisa mengatur parameter Content-disposition saat mengunggah file ke S3.

Untuk file yang ada, Anda harus mengubah Header, jadi lewati semua objek dalam Bucket, dan salin ke dirinya sendiri menggunakan header baru.

Yang bisa saya katakan sekarang, silakan posting kode yang mengunggah file ke S3.


7
2017-11-05 19:17



Ya, Anda dapat mengatur default Konten-Disposisi tajuk untuk setiap dan semua file unggahan yang akan datang dalam keranjang S3 Anda menggunakan Bucket Explorer Default Keranjang fitur.

Untuk file yang ada, Anda bisa menggunakan Perbarui Metadata opsi yang memperbarui metadata pada setiap file yang ada di keranjang Anda secara berkelompok.

Anda hanya perlu -

Select Key as : Content-Disposition
Add Value as : attachment;filename={$file_name_without_path_$$}

Kemudian perbarui metadata pada file.

Lihat halaman ini untuk mengatur Konten-Disposisi pada file Anda.

Referensi lainnya:

Terima kasih


0
2017-11-12 07:20



Pertama, Anda perlu menemukan kode yang menempatkan objek dalam keranjang. Anda dapat menggunakan notepad ++ untuk mencari "putObject"dalam file php dari plugin apa pun yang Anda gunakan. Contoh kode dari plugin WP lain yang menyimpan file ke S3 adalah sebagai berikut:

$this->s3->putObject( array(
            'Bucket'     => $bucket,
            'Key'        => $file['name'],
            'SourceFile' => $file['file'],
        ) );

Sekarang, cukup tambahkan ContentDisposition '=>' attachment 'seperti:

$this->s3->putObject( array(
            'Bucket'     => $bucket,
            'Key'        => $file['name'],
            'SourceFile' => $file['file'],
            'ContentDisposition' => 'attachment',
        ) );

Itu dia :)


0
2017-08-08 16:42