如何解决下载后文件未显示本地语言
我有一个使用 node.js 开发并托管在 heroku 上的应用程序。我们正在 node.js 服务器上生成 pdf 并将流发送到前端,以便用户可以下载文件。
当我在本地主机上尝试时,我能够在文件中看到正确的内容。但是当我在 heroku 上托管 node.js 代码并尝试相同的代码时,该文件没有在 pdf 中显示本地语言(泰卢固语,一种印度语言)。下面是我得到的文件截图。
下面的代码是前端代码,它将命中服务器api并从服务器获取文件内容
to
下面的代码是下载文件。上面代码中得到响应后调用该函数。
const response = await axios.post(
'/reports/pdf',{ tests: this.tests },{ responseType: 'blob' },);
window.console.log(response);
if (response) {
this.createAndDownloadBlobFile(response,'tests');
}
node.js 代码如下
createAndDownloadBlobFile(body,filename,extension = 'pdf') {
const blob = new Blob([body]);
const fileName = `${filename}.${extension}`;
if (navigator.msSaveBlob) {
// IE 10+
navigator.msSaveBlob(blob,fileName);
} else {
const link = document.createElement('a');
// Browsers that support HTML5 download attribute
if (link.download !== undefined) {
const url = URL.createObjectURL(blob);
link.setAttribute('href',url);
link.setAttribute('download',fileName);
link.style.visibility = 'hidden';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
}
},
我尝试了几种不同的方法,将响应格式更改为 base64 并更改数据格式。但是还是没有用。任何帮助将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。