
<a href="../api/v1/file/downloadTemplate?templateFileName=sampleExcel.xls&downloadFileName=Excel填写实例.xls" class="layui-btn" style="color:white">Excel填写实例</a>
<a href="../api/v1/file/downloadTemplate?templateFileName=sampleFrame.xls&downloadFileName=Excel模板.xls" class="layui-btn" style="color:white">Excel模板</a>
我点击下载文件的时,能完整下载,但是有个同事使用的360 9.0版本不能正常,最后找到原因。
原因:a标签中参数中带有中文,导致不能正常下载
解决方案:
将中文进行转码
<a href="#" onclick="downloadFile('sampleExcel.xls','Excel填写实例.xls')" class="layui-btn" style="color:white">Excel填写实例</a>
<a href="#" onclick="downloadFile('sampleFrame.xls','Excel模板.xls')" class="layui-btn" style="color:white">Excel模板</a>
function downloadFile(fileName,downloadName){
fileName=encodeURI(encodeURI(fileName));
downloadName=encodeURI(encodeURI(downloadName));
window.location.href='../api/v1/file/downloadTemplate?templateFileName='+fileName+'&downloadFileName='+downloadName;
}
本文介绍了一种在网页中使用含有中文的链接下载文件时遇到的问题及解决方案。具体表现为使用某些浏览器版本时,中文参数会导致文件无法正常下载。通过将中文参数进行URL编码转码,实现了跨浏览器兼容的下载功能。

被折叠的 条评论
为什么被折叠?



