赞
踩
上传两种方法:
1.用vant weapp组件:
//pdf上传--vant weapp组件 <view class="content"> <van-uploader file-list="{{ fileList }}" bind:after-read="afterReadFile" accept="file" upload-icon="plus" preview-size="30px" max-count="1" deletable="{{deletableFile}}" > </van-uploader> </view> page({ data:{ fileList:[],//pdf上传 } }) afterReadFile: function (e) { let that = this; const { file } = e.detail; let myId = that.data.myId; // console.log(file,1000); wx.uploadFile({ url: api.hhh+'?file='+file.url+'&schedulingId='+myId,//服务器上的pdf地址 filePath: file.url, name: 'file', // formData: { // file: file.url, // schedulingId:myId // }, success(res) { // 上传完成需要更新 fileList const { fileList = [] } = that.data; fileList.push({ ...file }); that.setData({ fileList }); }, }); },
<view class="content" bindtap="uploadFileTap"> 上传 </view> //pdf上传--原生组件 uploadFileTap:function(e){ let that = this; let myId = that.data.myId; wx.chooseMessageFile({ count: 1, type: 'file', success (res) { // tempFilePath可以作为img标签的src属性显示图片 const tempFilePaths = res.tempFiles wx.uploadFile({ url: url,//服务器上的pdf地址 filePath: tempFilePaths[0].path, name: 'file', formData: { file: tempFilePaths[0].path, schedulingId:myId }, success (res){ const data = res.data //do something wx.showToast({ title: '数据上传成功!', icon: 'none', duration: 3000 }) } }) } }) },
参考:https://blog.csdn.net/weixin_38566069/article/details/110229404
//下载pdf downloadPDF:function(e){ let that = this; let myId = that.data.myId; wx.showLoading({ title: '加载中...', mask: true }); //获取pdf地址 app.get(api.xxxx, { schedulingId: myId, // }).then(res => { if (res.code == 200) { wx.hideLoading() let pdfUrl=res.data ? (res.data.pdfUrl ? res.data.pdfUrl : null) : null if(pdfUrl){ const fileExtName = ".pdf"; const randfile = new Date().getTime() + fileExtName; const newPath = `${wx.env.USER_DATA_PATH}/${randfile}`; that.deletContract(); //下载 wx.downloadFile({ url: pdfUrl, filePath: newPath, success: function (res) { const filePath = res.tempFilePath; wx.openDocument({ filePath: newPath, showMenu: true, fileType: 'pdf', success: function (res) {} }) }, fail: function (res) { wx.hideLoading(); } }) }else{ wx.showToast({ title: '请先上传pdf数据!', icon: 'none', duration: 3000 }) } } else { wx.hideLoading() wx.showToast({ title: '获取数据失败!', icon: 'none', duration: 3000 }) } }).catch((err) => { wx.hideLoading() wx.showToast({ title: 'err', icon: 'none', duration: 3000 }) }); }, // 删除本地文件 deletContract() { try { let file = wx.getFileSystemManager(); file.readdir({ dirPath: `${wx.env.USER_DATA_PATH}`, success: res => { console.log(res); if (res.files.length > 2) { file.unlink({ filePath: `${wx.env.USER_DATA_PATH}/${res.files[0]}`, complete: res => {} }) } } }) } catch (error) {} },
//导出Excel downloadExcel:function(e){ let that = this; let myId = that.data.myId; wx.showLoading({ title: '加载中...', mask: true }); app.get(api.xxxExcel, { schedulingId: myId, }).then(res => { if (res.code == 200) { let excelUrl=res.data ? res.data : null if(excelUrl){ let type=excelUrl.split('.').pop(); let fileExtName = ""; if(type==''){//空 wx.showToast({ title: '导入的非Excel文件!', icon: 'none', duration: 3000 }) return false }else if(type=='xls'){ fileExtName=".xls" }else if(type=='xlsx'){ fileExtName=".xlsx" } const randfile = new Date().getTime() + fileExtName; const newPath = `${wx.env.USER_DATA_PATH}/${randfile}`; that.deletContract(); wx.downloadFile({ url: excelUrl, filePath: newPath, success: function (res) { wx.hideLoading() const filePath = res.filePath; wx.openDocument({ filePath: newPath, showMenu: true, fileType: type, success: function (res) {} }) }, fail: function (res) { wx.hideLoading(); } }) }else{ wx.showToast({ title: '请先上导入Excel数据!', icon: 'none', duration: 3000 }) } } else { wx.hideLoading() wx.showToast({ title: '获取Excel数据失败!', icon: 'none', duration: 3000 }) } }).catch((err) => { wx.hideLoading() wx.showToast({ title: 'err', icon: 'none', duration: 3000 }) }); },
提示:突然冒出一个报错:wx.chooseMessageFile点击很多次后就突然无效了
昨天上传功能在【微信开发工具和移动端】都可以用,早上突然实现了。
查了下是官方给出的解释是:
2023年9月15日之前,此功能逻辑只对开发版/体验版生效,开发者请尽快进行隐私弹窗适配、发版。2023年9月15日之后,将对正式版生效,详情可见《关于小程序隐私保护指引设置的公告》。
具体见:
https://developers.weixin.qq.com/community/develop/doc/0002aa86b6ccb056ff20a04e96bc00?jumpto=comment
https://developers.weixin.qq.com/community/develop/doc/00042e3ef54940ce8520e38db61801
微信小程序利用第三方库xlsx导出excel
参考:
https://blog.csdn.net/weixin_57263939/article/details/128905216
https://blog.csdn.net/gao511147456/article/details/132009965
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。