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

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 小时前
agmd 1.0 重磅升级——Rust 重写,性能起飞
javascript·rust
Larcher2 小时前
🔥 告别抓瞎:用 Claude Code (cc) 优雅接手与维护已有项目
javascript·机器学习·前端框架
JYeontu2 小时前
轮播图不够惊艳?试下这个立体卡片轮播图
前端·javascript·css
亲亲小宝宝鸭3 小时前
如何监听DOM尺寸的变化?element-resize-detector 和 resizeObserver
前端·javascript
卷帘依旧5 小时前
Generator 全面解析 + async/await 深度对比
前端·javascript
weixin_471383035 小时前
统一缩放单位基础(px、em、rem)
开发语言·javascript·ecmascript
yqcoder5 小时前
数据劫持的双雄:深入解析 Object.defineProperty 与 Proxy
开发语言·前端·javascript
小三金6 小时前
EXPO+RN echarts图表库,以及如何使用
前端·javascript·react.js
Pu_Nine_97 小时前
IntersectionObserver 详解:封装 Vue 指令实现图片懒加载
前端·javascript·vue.js·性能优化
海兰7 小时前
【实用应用】React+TypeScript+Next.js博客项目
开发语言·javascript·elasticsearch