JSP下载文件,文件名包含空格

hma*_*mak 4 java jsp download

我有一个处理文件下载的JSP页面.

我像这样设置响应头:

response.setContentType("application/octet-stream");
response.addHeader("Content-Disposition","attachment; filename="+fileName);
Run Code Online (Sandbox Code Playgroud)

当fileName包含空格(即"Business Report.doc")时,浏览器的对话窗口将文件保存为"Business".

我尝试使用URLEncoder.encode(fileName,"Unicode"); (也试过UTF-8)

但结果是我得到了"Business + Report.doc".

我希望最终结果是"Business Report.doc"

有任何想法吗?

谢谢.

Bal*_*usC 7

你需要引用它.

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

请注意,JSP本质上是处理文件下载的错误位置.您将冒险使用模板文本损坏二进制文件.最好使用Servlet.这是一个基本的例子.