IOS点击下载pdf附件按钮后会出现如下问题,安卓会跳转到浏览器页面下载pdf文件不会出现乱码问题
前端的下载操作按钮
ExportPDF(){
postAction(this.exportPdfUrl,this.professorInfo).then((res)=>{
let url = this.downloadPdfUrl+res.message
console.log(url)
let a = document.createElement('a') //创建a标签
a.href = window._CONFIG['domianURL']+url
a.click()
})
},
查阅相关资料发现:IOS下载跳转到浏览器的行为是不支持的,后只能上网搜索IOSPDF预览乱码问题。
发现一位大佬的文章并成功的解决了PDF乱码问题:跳转到原文
我们只需要在后端返回浏览器前设置文件返回格式为pdf就好了
/*
filePath.substring(filePath.length()-3,filePath.length()).equals("pdf")如果是pdf类的文件的话就设置文件返回格式为pdf
**/
if(filePath.substring(filePath.length()-3,filePath.length()).equals("pdf")){
response.setContentType("application/pdf;charset=utf-8");
}
总结:文件头导致流被解析的时候错误解析为文本,导致乱码