Content-Disposition: Apa perbedaan antara "inline" dan "attachment"?


245

Apa perbedaannya

Response.AddHeader("Content-Disposition", "attachment;filename=somefile.ext")

dan

Response.AddHeader("Content-Disposition", "inline;filename=somefile.ext")

Saya tidak tahu perbedaannya, karena ketika saya menggunakan satu atau yang lain saya selalu mendapatkan jendela meminta saya untuk mengunduh file untuk keduanya. Saya membaca spesifikasi, tetapi tidak mengerti.


1
Ketika jenis disposisi inline, biasanya tidak memiliki nama file.
james.garriss

Hanya untuk info siapa saja: nama file masih dapat diatur dengan inline itu tidak standar sekalipun. Chrome, Firefox, IE dan Opera menghormati nama file tetapi Edge tidak (2018).
bugybunny

apakah ada yang tahu sumber daya untuk menunjukkan apa yang dilakukan berbagai browser dengan tipe konten, mirip dengan caniuse untuk css?
jmoreno

Jawaban:


291

Karena ketika saya menggunakan satu atau yang lain saya mendapatkan jendela meminta saya untuk mengunduh file untuk keduanya.

Perilaku ini tergantung pada browser dan file yang Anda coba layani. Dengan inline, browser akan mencoba membuka file di dalam browser.

Misalnya, jika Anda memiliki file PDF dan Firefox / Adobe Reader, disposisi inline akan membuka PDF di dalam Firefox, sedangkan lampiran akan memaksanya untuk mengunduh.

Jika Anda menyajikan file .ZIP, browser tidak akan dapat menampilkannya secara inline, jadi untuk disposisi inline dan lampiran, file tersebut akan diunduh.


7
Hanya koreksi cepat: Perilaku ini terkadang berbeda dari konteks seluler. Banyak tampilan web aplikasi akan mengabaikan disposisi lampiran dan membuatnya di browser jika mereka dapat mengidentifikasi tipe konten dengan benar.
mixdev

31

Jika inline, browser harus berusaha untuk merendernya di dalam jendela browser. Jika tidak, itu akan menggunakan program eksternal, mendorong pengguna.

Dengan lampiran, itu akan segera pergi ke pengguna, dan tidak mencoba memuatnya di browser, apakah bisa atau tidak.


10

Mungkin juga layak disebutkan bahwa inline akan mencoba membuka Dokumen Office (xls, doc dll) langsung dari server, yang mungkin mengarah ke Prompt Kredensial Pengguna.

lihat tautan ini:

http://forums.asp.net/t/1885657.aspx/1?Access+the+SSRS+Report+in+excel+format+on+server

seseorang mencoba mengirimkan Laporan Excel dari SSRS melalui ASP.Net -> pengguna selalu diminta untuk memasukkan kredensial. Setelah mengklik membatalkan pada prompt itu akan tetap dibuka ...

Jika Disposisi Konten ditandai sebagai Lampiran, ia akan secara otomatis disimpan ke folder temp setelah mengklik terbuka dan kemudian dibuka di Excel dari salinan lokal.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.