У меня есть очень простой вопрос, и это может быть немного глупо.
Я пишу код для загрузки CSV файла с помощью JSP и Servlets. Я получил код из интернет-форумов и его работу отлично, но я пытаюсь понять значение двух строк
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment; filename=\""
+ filename + "\"");
Теперь первая строка response.setContentType
По моему мнению, он сообщает браузеру, какие данные ожидаются от сервера. Мой вопрос в том, что он говорит браузеру со значением application/octet-stream
. Я вижу, что это используется для загрузки всех видов файлов. Если эти строки сообщают браузеру, что страница будет загружать файл, какая разница - следующая строка. response.setHeader
имеет привязку в качестве параметра.
Может ли кто-нибудь сказать мне значение этих двух строк для загрузки файла? Дайте мне знать, если я не смог четко объяснить свой вопрос.
С уважением, Тарун
Первая строка описывает тип данных.
response.setContentType("APPLICATION/OCTET-STREAM");
APPLICATION/OCTET-STREAM
означает двоичные данные. Это может быть более точно, указав фактический тип файла. Для изображений это может быть image/png
. Если браузер знает точный тип файла, он может показывать файл напрямую.
response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
Это говорит: "Даже не пытайтесь показать файл, просто сохраните файл". Он также предлагает имя файла.
update В wikipedia есть лучшее объяснение типе mime-типов и контента: