SORU
11 Aralık 2013, ÇARŞAMBA


İçerik-Tipi ihtiyacım var: octet-stream dosya için uygulama/yükleme?

HTTP standard diyor ki:

Bu başlığı [İçerik-Disposition: attachment] bir tepki olarak kullanılır application/octet-stream içerik türü, ima öneri kullanıcı Aracısı yanıt, ama görüntü değil. doğrudan girin `yanıt olarak Kaydet...' iletişim.

Bu gibi okudum

Content-Type: application/octet-stream
Content-Disposition: attachment

Ama Content-Type application/pdf, image/png, vb olacağını düşünmüştüm.

Eğer tarayıcılar dosya indirmek istiyorsanız Content-Type: application/octet-stream olmalıdır?

CEVAP
11 Aralık 2013, ÇARŞAMBA


Hayır.

İçerik türü olarak bilinen her ne olmalıdır, eğer biliyorsanız. application/octet-stream olarak tanımlanır "keyfi ikili veri", RFC 2046, ve orada kesin bir örtüşme burada olmak için uygun varlıkları olan yegane amacı ise kurtarılmak için disk, ve o noktada olmak dışında bir şey "webby". Veya başka bir yönden bakmak; bir güvenle yapabileceğiniz tek şey application/octet-stream dosya ve başkası için ne demek olduğunu bilen umut etmektir.

Diğer içerik türleri, image/png text/html gibi Content-Disposition kullanımı ekran yerine tasarruf istediğinizi belirtmek için birleştirebilirsiniz. Eskiden durum bazı tarayıcılar ki görmezden durumunda text/html ama sanırım bu biraz uzun zaman önce bu noktada (ve ben yatmaya gidiyorum yakında o yüzden gitmiyorum başlatmak için test bir sürü tarayıcıları şu an; belki daha sonra).

RFC 2616 da bahseder olasılığı uzantısı simgeleri, ve bu gün çoğu tarayıcı tanımak inline demek istiyorsun varlık görüntülenen mümkünse (Yani, eğer bu bir tür tarayıcı bilir görünen, aksi takdirde başka bir seçeneğim konu). Bu tabii ki varsayılan davranış zaten, ama demek ki vardır filename bölüm başlığı, hangi tarayıcıları kullanacak (belki bazı ayar yani dosya uzantıları maç yerel sistem normları için içerik yazın soru, belki de değil) olarak önerim eğer kullanıcı kurtarmaya çalışır.

Bu nedenle:

Content-Type: application/octet-stream
Content-Disposition: attachment; filename="picture.png"

"Bunun ne olduğunu bilmiyorum. Lütfen bir dosya olarak kaydedin, tercihen adlı resim.". png

Content-Type: image/png
Content-Disposition: attachment; filename="picture.png"

"Bu bir PNG resmi. anlamına gelir Lütfen bir dosya olarak kaydedin, tercihen adlı resim.". png

Content-Type: image/png
Content-Disposition: inline; filename="picture.png"

"Bu bir PNG resmi. anlamına gelir Lütfen PNG resimleri görüntülemek için nasıl bilmediğin sürece görüntüleyin. Aksi takdirde, ya da eğer kullanıcı kaydetmeyi seçerse, adı Resmi öneririz.dosya için Farklı Kaydet png".

Bu tarayıcılar tanımıyor inline bazı her zaman kullanın, Diğerleri kullanmak istiyorsunuz eğer kullanıcı seçilen "save link as" ama onlar ... seçilen "Kaydet" görüntülerken (veya en azından YANİ eskiden böyle, değişti birkaç yıl önce).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bunliu

    bunliu

    2 Mayıs 2007
  • Jay Will

    Jay Will

    19 NİSAN 2006
  • TheDamnWreckless

    TheDamnWreck

    12 Temmuz 2010