手机拍照然后上传没问题 但是在相册中选择的照片上传 ios手机不行 安卓一部分手机也点击没反应
最后对比了下参数 发现路径有所不同
使用uni.saveFile保存路径好在重新上传
saveFileSync(tempFilePath){ return new Promise((resolve, reject) => { uni.saveFile({ tempFilePath, success: function (file) { resolve(file.savedFilePath) }, fail: function (error) { reject(error) } }) }) },
uni.chooseImage({ count: 1, //默认9 sizeType: ["compressed"], //可以指定是原图还是压缩图,默认二者都 sourceType: ['camera','album'], success: async function(result) { let ewm = result.tempFiles[0] const path = await that.saveFileSync(ewm.path) if (result.errMsg === "chooseImage:ok") { result.tempFiles[0].path=path // that.upload(path); that.upload(result.tempFiles[0]); } else { uni.showToast({ title: "图片上传失败", icon: "none", }); } }, fail(err) { uni.showToast({ title: "取消上传", icon: "none", }); }, });
Upload(event) { const token = this.getToken(); // const url = this.getuploadUrl(); const imgList = []; uni.showLoading({ title: "上传中...", mask: true, }); try { const [err, res] = await uni.uploadFile({ url: `${HOST}/resource/file/upload`, filePath: event.path, name: "file", header: { Authorization: token, }, }); if (res && (res.statusCode === 200)) { const result = JSON.parse(res.data); if (result.code == 200) { let res1 = JSON.parse(res.data); res1.data.uuid = res1.data.id; res1.data.paramskey = event.name; imgList.push(res1.data); const list = [...this.list, ...imgList]; this.$emit("value", list); this.$emit("change", list); this.$emit("upload", imgList); } else { wx.showToast({ icon: "none", title: result.msg, }); } } else { wx.showToast({ icon: "error", title: "上传失败", }); } } catch (error) { console.log(error) } uni.hideLoading(); this.$emit("upload", imgList); },
到此这篇关于uniapp在开发app时上传文件时的问题的文章就介绍到这了,更多相关uniapp上传文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源链接:https://www.jb51.net/javascript/327353ubp.htm
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
暂无评论内容