如何为PDF格式的客户端?
- 如何为PDF格式的客户端? 推荐度:
- 相关推荐
如何为PDF格式的客户端?
一个按钮的onClick我试图从服务器获取生成的PDF(由Pdfmake库)文件,但我像Chrome浏览器开发控制台的预览和响应部分变得非常长的base64编码 -
JVBERi0xLjMKJf////8KNyAwIG9iago8PAovVHlwZSAvRXh0R1N0YXRlCi9jYSAxCj4+CmVuZG9iago4IDAgb2JqCjw8Ci9UeXBlIC9FeHRHU3RhdGUKL2NhIDEKL0NBIDEKPj4KZW5kb2JqCjExIDAgKL0luZm8gMTMgMCBSCi9JRCBbPGIzZjEyYjhkYWYwN2Q4ZWZkZjFjYTkzOWE3YTQ2NjZiPiA8YjNmMTJiOGRhZjA3ZDhlZmRmMWNhOTM5YTdhNDY2NmI+XQo+PgpzdGFydHhyZWYKMjA5Nj
。 ............很长....
我期待获得新的浏览器窗口标签上的PDF,后手动键入与data:application/pdf;base64,
前缀,则其显示PDF此的base64编码,但我需要尽快的onClick发生了新的选项卡上弹出式视窗...
data:application/pdf;base64,JVBERi0xLjMKJf////8KNyAwIG9iago8PAovVHlwZSAvRXh0R1N0YXRlCi9jYSAxCj4+CmVuZG9iago4IDAgb2JqCjw8Ci9UeXBlIC9FeHRHU3RhdGUKL2NhIDEKL0NBIDEKPj4KZW5kb2JqCjExIDAgb2JqCjw8Ci9UeXBlIC9FeHRHU3RhdGUKL0NBIDEKPj4KZW5kb2JqgKI189+A10wPsfByPuXwnyXtcO17zDJBaRJTFEFLPpHqYmHEniQ7Wjpe/E/iXwbhHf8B6XIZX4gskibxEvuIM8G8E9zIfwk/kt/OfCYXCcuFT4YxqlOp11Tl1sVrSxGlqNa9pftQO1oo
请回答一样简单和详细越好,我不知道怎么流,缓冲的base64,文件系统一切正常运作,以及如何解决与,我是新来的发展。
客户端--->
handleOrderInvoice(event) {
const orderid = event.currentTarget.id;
fetch(`/api/payment/order/${orderid}`, {
method: "GET",
headers: {
Accept: "application/pdf",
Authorization: localStorage.getItem("bearerToken")
}
})
.then(response => {
//HOW to work with pdf response???
})
.catch(err => console.log(`Error in fetching this order. -- ${err}`));
服务器端(快递) - >
router.get(
"/order/:orderid",
passport.authenticate("jwt", { session: false }),
(req, res) => {
//Create PDF Document
const pdfDoc = pdfMake.createPdf(documentDefinition);
pdfDoc.getBase64(data => {
res.writeHead(200, {
"Content-Type": "application/pdf",
"content-Disposition": "inline; filename='invoice.pdf'"
});
const doc = Buffer.from(data.toString("utf-8"), "base64");
res.end(doc);
});
})
.catch(err =>
console.log(`Error in fetching user order response. -- ${err}`)
);
}
);
回答如下:
PDF,图片通常不存放以base64这些文件的大小可能会很大。相反,使用文件系统来存储,因为它是便宜(你不必来回转换)
假设你已经存储在文件系统上的PDF,你可以简单地使用
response.sendFile(url-for-pdf);
你可以打开一个新窗口中使用,以显示在客户端的PDF
window.open('_link is here_', '_blank');
- SFuzz: Slice
- winrar v3.8 的注册码
- html5 tooltip,HTML5 教程之CSS 提示工具(Tooltip)
- linux驱动
- 在屏幕坐标和窗口坐标之见的转换
- dump文件,windbg
- 回溯法(算法分析与设计)
- R统计绘图
- nofollow标签使用方法
- SAR成像系列:【3】合成孔径雷达(SAR)的二维回波信号与简单距离多普勒(RD)算法 (附matlab代码)
- 欧几里得距离和曼哈顿距离
- 下列c语言表达式能正确表达ch是空格或者回车的是,c语言上机选择题题及答案...
- Hashtable的原理
- SpringSecurity原理:探究SpringSecurity运作流程
- HTML5+JavaScript调用摄像头拍照或者摄像
- Linux常用终端命令
- Linux C编程itoa()函数 atoi()函数
- 【Spring Boot JPA】ManyToOne OneToMany学习笔记
- qt学习笔记(八)之深入QSqlQuery
- Qt QSqlQueryModel实现查询数据库内容