我的Java servlet包括以下行:
response.addHeader("Content-Disposition", "filename=myFile.pdf");
我需要在PDF文件中包含一个命名目标,作为文件名的一部分。理想情况下,我可以使用以下内容:
response.addHeader("Content-Disposition", "filename=myFile.pdf#Chapter3");
但是当我运行它时,浏览器中的网址会显示/path/to/myFile.pdf%23Chapter3
而不是所需的/path/to/myFile.pdf#Chapter3
。
如何在“filename = myFile#Chapter3”中转义#?使用\转义会产生编译时错误。用& 035逃脱;也不起作用。
答案 0 :(得分:3)
RFC 2616定义"如果用户请求将内容保存到文件中,则建议将Content-Disposition响应标头字段用作原始服务器建议默认文件名的方法。所以我不认为你可以通过你的servlet做你想做的事。也许你会对pdf中的一些脚本有更好的运气:你可以想象解析它自己的名字,在开启时动态设置它在正确的锚点。