做网站需要学js吗,网站开发与设计模板,济南 制作网站 公司,备案的网站名称能重复备案吗最近遇到一个需求#xff0c;一个古早的移动端 juery 项目要求做一个页面#xff0c;从接口获取 pdf 文件流#xff0c;然后预览出来
这里使用第三方工具#xff1a;pdf.js
代码如下#xff1a;
// 引入相关文件script src../js/pdf.js typetext…最近遇到一个需求一个古早的移动端 juery 项目要求做一个页面从接口获取 pdf 文件流然后预览出来
这里使用第三方工具pdf.js
代码如下
// 引入相关文件script src../js/pdf.js typetext/javascript charsetutf-8/script
script src../js/pdf.worker.js typetext/javascript charsetutf-8/script
script src../js/jquery.min.js/script
script src../js/pdfh5.js typetext/javascript charsetutf-8/script// 转化编码格式
function converData(data) {data data.replace(/[\n\r]/g, );var raw window.atob(data);var rawLength raw.length;var array new Uint8Array(new ArrayBuffer(rawLength));for (var i 0; i rawLength; i) {array[i] raw.charCodeAt(i)}return array
}// 点击获取当前标签的 id 属性值
$(#contain-wrapper).on(click, .contain-main, function(e) {var id $(this).attr(id)const params {reportDocId: id}$.ajax({xhrFields: {withCredentials: true},crossDomain: true !(document.all),type: POST, // 请求方式url: 接口地址, // 接口地址data: JSON.stringify(params), // 请求参数dataType: json, // 返回参数格式responseType: blob, // 设置响应类型cache: false,processData: false, // 告诉jQuery不要去处理发送的数据contentType: application/json;charsetutf-8,success: function (data) {console.log(data);if(data.status ! 0) {toast(data.message, 2000);} else {var pdfEntity data.data; // 获取文件流var array converData(pdfEntity); // 转码成 base64$(#demo).show()var pdfh5 new Pdfh5(#pdf-content, {data: array});// 监听完成事件pdfh5.on(complete, function (status, msg, time) {// 处理插件不隐藏 loadEffect 的问题$(.loadEffect).hide();})}},error: function () {toast(请求失败, 2000);},complete: function() {isLoading false;}})
})