Ні.
Тип вмісту повинен бути таким, яким він є, якщо ви знаєте його. application/octet-stream
визначається як "довільні двійкові дані" в RFC 2046, і тут є певне перекриття, яке підходить для об'єктів, єдиною ціллю яких є збереження на диску, і з цього моменту знаходиться поза будь-чим "webby". Або подивитися на це з іншого напрямку; Єдине, що можна безпечно зробити із застосунком / octet-stream - це зберегти його у файл та сподіватися, що хтось інший знає, для чого це.
Ви можете поєднувати використання Content-Disposition
з іншими типами вмісту, такими як, image/png
або навіть, text/html
щоб вказати, що ви хочете економити, а не показувати. Колись браузери ігнорували б це у випадку, text/html
але я думаю, що це було дуже давно в цей момент (і я скоро лягаю спати, тому я не збираюся починати тестувати цілу купу браузери прямо зараз; можливо пізніше).
RFC 2616 також згадує про можливість розширення жетонів розширення, і в наші дні більшість браузерів визнають, inline
що ви хочете, щоб ця організація відображалася, якщо це можливо (тобто, якщо це тип, який браузер знає, як відображати, інакше у нього немає вибору в цьому питанні) . Це, звичайно, поведінка за замовчуванням у будь-якому випадку, але це означає, що ви можете включити ту filename
частину заголовка, яку використовуватимуть браузери (можливо, з деяким коригуванням, щоб розширення файлів відповідали місцевим системним нормам для відповідного типу вмісту, можливо, ні) як пропозиція, якщо користувач намагається зберегти.
Звідси:
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="picture.png"
Значить "Я не знаю, що це за чорт. Збережіть його як файл, бажано з назвою picture.png".
Content-Type: image/png
Content-Disposition: attachment; filename="picture.png"
Значить "Це зображення в форматі PNG. Збережіть його як файл, бажано з назвою picture.png".
Content-Type: image/png
Content-Disposition: inline; filename="picture.png"
Значить "Це зображення PNG. Будь ласка, покажіть його, якщо ви не знаєте, як відобразити зображення PNG. В іншому випадку, або якщо користувач вирішить зберегти його, ми рекомендуємо ім'я picture.png для файлу, який ви збережете як".
З тих браузерів, які розпізнають inline
деякі, вони завжди будуть використовувати його, а інші використовуватимуть його, якби користувач вибрав "зберегти посилання як", але не, якщо під час перегляду вибрав "зберегти" (або принаймні IE раніше був таким, це можливо, змінився кілька років тому).