我有一个非常基本的问题,可能有点傻。
我正在编写代码来使用JSP& amp;来下载CSV文件。 Servlet的。我从互联网论坛获得了代码并且工作正常,但我试图理解两行的重要性
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment; filename=\""
+ filename + "\"");
现在第一行response.setContentType
- 根据我的理解,它告诉浏览器服务器需要什么样的数据。我的问题是它告诉浏览器值为application/octet-stream
。我看到这用于下载各种文件。如果此行通知浏览器该页面将下载文件,则导致下一行的差异。 response.setHeader
将附件作为参数。
可以告诉我这两行文件下载的重要性吗?如果我无法清楚地解释我的问题,请告诉我。
关心塔伦
答案 0 :(得分:5)
第一行描述了数据类型。
response.setContentType("APPLICATION/OCTET-STREAM");
APPLICATION/OCTET-STREAM
代表二进制数据。通过指定实际文件类型可能更精确。对于图像,它可以是image/png
。如果浏览器知道确切的文件类型,它可以直接显示文件。
response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
这说“不要试图显示文件,只保存文件。”#34;它还建议使用文件名。
更新 在维基百科上有更好的mime类型和内容处理的解释: