微信小程序,下载流文件并打开预览

gopdf(e){

let that=this;

let pdfurl=e.currentTarget.dataset.pdfurl;

let file;

let tokenresult = wx.getStorageSync("tokenresult");

console.log(pdfurl);

wx.request({

url:app.globalData.api.fileurl + `api/file/pdf/httppreview?httpfile=${pdfurl}`,

method: "GET",

header: {

"Authorization": tokenresult.token_type + " " + tokenresult.access_token

},

responseType: 'arraybuffer', //此处是请求文件流,必须带入的属性

success: res => {

if (res.statusCode === 200) {

const fs = wx.getFileSystemManager(); //获取全局唯一的文件管理器

fs.writeFile({

filePath: wx.env.USER_DATA_PATH + "/在线文档.pdf", // wx.env.USER_DATA_PATH 指定临时文件存入的路径,后面字符串自定义

data: res.data,

encoding: "binary", //二进制流文件必须是 binary

success (res){

wx.openDocument({ // 打开文档

filePath: wx.env.USER_DATA_PATH + "/在线文档.pdf", //拿上面存入的文件路径

showMenu: true, // 显示右上角菜单

success: function (res) {

setTimeout(()=>{wx.hideLoading()},500)

}

})

}

})

}

}

});

},

相关推荐
颜酱2 小时前
一步步实现字符串计算器:从「转整数」到「带括号与优化」
javascript·后端·算法
比尔盖茨的大脑2 小时前
事件循环底层原理:从 V8 引擎到浏览器实现
前端·javascript·面试
卓卓不是桌桌2 小时前
如何优雅地处理 iframe 跨域通信?这是我的开源方案
javascript·架构
滕青山2 小时前
腾讯域名拦截查询 在线工具核心JS实现
前端·javascript·vue.js
进击的尘埃3 小时前
TypeScript 协变与逆变:你的泛型组件 Props 为什么总是类型报错?
javascript
helloweilei3 小时前
javascript 结构化克隆
javascript·node.js
龙猫不热3 小时前
从 0 手写 Promise:拆解 Promise 链式调用的实现原理
前端·javascript·面试
wuhen_n5 小时前
TypeScript 强力护航:PropType 与组件事件类型的声明
前端·javascript·vue.js
wuhen_n5 小时前
组件设计原则:如何设计一个高内聚、低耦合的 Vue 组件
前端·javascript·vue.js
Lee川19 小时前
深度解构JavaScript:作用域链与闭包的内存全景图
javascript·面试