我有一个本地pdf,我尝试通过文件的路径在iframe中加载此pdf。
该文件的名称为明星.pdf,路径如下: http://localhost:8080/path-here/明星.pdf
当我尝试打开pdf文件时,浏览器执行此请求并失败(404): http://localhost:8080/path-here/%E6%98%8E%E6%98%9F.pdf
只有包含中文字符的pdf才会出现此问题。
有什么建议吗?
PS:我正在使用javascript。
编辑:
示例:
//there's a http:// in front, I can't put more links in post
var url = 'localhost:8080/path-here/teste.pdf'
var url2 = 'localhost:8080/path-here/明星.pdf'
window.open(url,"_blank") //works fine
window.open(url2,"_blank") //fails
答案 0 :(得分:1)
Javascript可以处理大多数非英文字符,但您可能需要对它们进行编码以便Web浏览器识别它们。尝试将网页(服务器?)的字符集指定为UTF-8
<head>
<meta charset="UTF-8">
</head>
您可能还需要为webbrowser准备字符串,我建议使用 encodeURIcomponent()或 encodeURI()。这是对该功能的解释 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent。希望有所帮助!
答案 1 :(得分:0)
你可以这样做,使用
<a href="yourfilepath" download="your_chinesefilename.pdf",
示例:
<a id="dlink" style="display:none;"></a>
<button onclick="downloadWagePdf()">
pdfdownloadceshi
</button>
<script type="text/javascript">
function downloadWagePdf() {
var pdfFilePath = "<%=basePath%>" + "WebRoot\\download\\" + "bank_wage" + ".xls";
var titleDate= new Date().Format("yyyy-MM-dd hh-mm-ss");
document.getElementById("dlink").href = pdfFilePath;
document.getElementById("dlink").download = "银行流水表"+titleDate+".xls";
document.getElementById("dlink").click();
}
</script>
您可以查看this url,如何使用下载