uniapp(移动端H5、APP、小程序兼容)实现点击下载文档
目录
一、移动端H5实现下载预览文档
二、小程序、APP下载预览文档
一、移动端H5实现下载预览文档
用uniapp开发微信公众号网页H5实现下载文档功能时,在微信开发者工具上点击下载调试会显示告警。
1.为了防止在手机上也打开不了链接情况,在点击下载的同时可以去复制文档链接,在手机浏览器打开
//复制链接 uni.setClipboardData({ data: url, success: function() { console.log('success'); //调用方法成功 } })
2.利用a标签实现打开文档链接,这个方法在移动端H5可以直接打开,亲测有效!!!
var oA = document.createElement("a"); oA.download = ''; // 设置下载的文件名,默认是'下载' oA.target = "_blank" oA.href = url; //临时路径再保存到本地 document.body.appendChild(oA); oA.click(); oA.remove(); // 下载之后把创建的元素删除
完整代码
// 点击下载文件 //file带有文件路径的数据 handleFile(file) { console.log(file); let { documentFile } = file if (documentFile) { let url = API.file + documentFile uni.setClipboardData({ data: url, success: function() { console.log('success'); //调用方法成功 } }) console.log(url); var oA = document.createElement("a"); oA.download = ''; // 设置下载的文件名,默认是'下载' oA.target = "_blank" oA.href = url; //临时路径再保存到本地 document.body.appendChild(oA); oA.click(); oA.remove(); // 下载之后把创建的元素删除 } },
二、小程序、APP下载预览文档
直接使用uniapp的api
//签订合同下载 Download() { //下载文档 uni.downloadFile({ url: 'url',//下载地址接口返回 success: (data) => { if (data.statusCode === 200) { //文件保存到本地 uni.saveFile({ tempFilePath: data.tempFilePath, //临时路径 success: function(res) { uni.showToast({ icon: 'none', mask: true, title: '文件已保存:' + res.savedFilePath, //保存路径 duration: 3000, }); setTimeout(() => { //打开文档查看 uni.openDocument({ filePath: res.savedFilePath, success: function(res) { // console.log('打开文档成功'); } }); }, 3000) } }); } }, fail: (err) => { console.log(err); uni.showToast({ icon: 'none', mask: true, title: '失败请重新下载', }); }, }); },
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理!
部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!