response.setContentType("应用/八位字节流")

Tar*_*att 1 java jsp content-type

我有一个非常基本的问题,可能有点傻.

我正在编写代码以使用JSP和Servlet下载CSV文件.我从互联网论坛获得了代码并且工作正常,但我试图理解两行的重要性

response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment; filename=\""
            + filename + "\"");
Run Code Online (Sandbox Code Playgroud)

现在第一行response.setContentType- 根据我的理解,它告诉浏览器服务器期望什么样的数据.我的问题是它告诉浏览器有什么价值application/octet-stream.我看到这用于下载各种文件.如果此行通知浏览器该页面将下载文件,则导致下一行的差异.response.setHeader将附件作为参数.

any1能告诉我这两行文件下载的重要性吗?如果我无法清楚地解释我的问题,请告诉我.

关心塔伦

Chr*_*ach 5

第一行描述了数据类型.

response.setContentType("APPLICATION/OCTET-STREAM");
Run Code Online (Sandbox Code Playgroud)

APPLICATION/OCTET-STREAM代表二进制数据.通过指定实际文件类型可能更精确.对于图像,它可以image/png.如果浏览器知道确切的文件类型,它可以直接显示文件.

response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
Run Code Online (Sandbox Code Playgroud)

这说"甚至不试图显示文件,只保存文件." 它还建议一个文件名.

更新 在维基百科上有更好的mime类型和内容配置解释:

http://en.wikipedia.org/wiki/MIME#Content-Disposition