我有一个非常基本的问题:
我正在编写代码,以使用JSP和Servlet下载CSV文件。我从互联网论坛上获得了代码,并且工作正常,但是我试图理解以下两行的意义
response.setContentType("APPLICATION/OCTET-STREAM"); response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
现在第一行response.setContentType-根据我的理解,它告诉浏览器服务器需要什么样的数据。我的问题是 ,它如何使浏览器获得价值application/octet-stream。我看到这被用于下载各种文件。如果此行告知浏览器该页面将下载文件, 则下一行会引起什么区别 。response.setHeader将附件作为参数。
response.setContentType
application/octet-stream
response.setHeader
谁能告诉我这两行对文件下载的重要性?
问候塔伦
第一行描述了数据类型。
response.setContentType("APPLICATION/OCTET-STREAM");
APPLICATION/OCTET- STREAM代表二进制数据。通过指定实际的文件类型可能更精确。对于图像,它可能是image/png。如果浏览器知道确切的文件类型,则可以直接显示该文件。
APPLICATION/OCTET- STREAM
image/png
response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
这表示“甚至不要尝试显示文件,只需保存文件即可。” 它还建议一个文件名。
更新 维基百科上对mime类型和内容处置有更好的解释:
http://en.wikipedia.org/wiki/MIME#Content- Disposition