如何在内容处置标头中设置包含空格的文件名
我有这段代码:
resp.addHeader("Content-Disposition", "inline; filename=" + fileName);
当文件名为“a_b_c.doc”或“abc.doc”时,下载文件的名称将正确显示。但是,当文件名为“a b c .doc”时,下载文件的名称仅为“a”。
我们该如何解决这个问题?
我有这段代码:
resp.addHeader("Content-Disposition", "inline; filename=" + fileName);
当文件名为“a_b_c.doc”或“abc.doc”时,下载文件的名称将正确显示。但是,当文件名为“a b c .doc”时,下载文件的名称仅为“a”。
我们该如何解决这个问题?
使用引号:
resp.addHeader("Content-Disposition", "inline; filename=\"" + fileName + "\"");
根据HTTP标准,您用双引号将字符串括起来,并通过在它们前面加上单个反斜杠来转义其中的任何引号或反斜杠。
Content-Disposition: attachment; filename="Very \"interesting\" file \\ files.txt"
这将提示另存为 。请注意,反斜杠的存在并不表示文件夹,它表明反斜杠是文件名的一部分(这在Linux和其他一些平台上完全有效,但在Windows上不是。Very "interesting" file \ files.txt