解决uni |
您所在的位置:网站首页 › jsp文件拓展名 › 解决uni |
本次在使用uni.uplodFile()上传图片时,遇到丢失后缀名导致后台服务器无法解析的问题,特此记录 首先放上解决问题前后对比图 解决前:formdata filename属性无后缀 解决后,filename参数已有后缀,并且为文件名:问题如下: 当使用uni-file-picker组件上传图片时,formdata中的filename丢失后缀名,导致后台服务器返回的url无后缀名,图片无法正常显示的问题 ... /** * @description :上传文件文件回调 * */ handleSelectImage(files){ console.log('select........',files) console.log(this.forms.images) files.tempFiles.map(imgItem =>{ console.log(imgItem) let formdata = new FormData() formdata.append(imgItem.name,imgItem.file) console.log(formdata) uni.uploadFile({ url:'/api/uploadAvatar?sessionId='+uni.getStorageSync('sessionId'), method:'POST', formaData:formdata, success:(res)=> { console.log(res,JSON.parse(res.data)) let data = JSON.parse(res.data) console.log('添加前: ',this.forms.images) this.forms.images = [...this.forms.images,data.data.url] console.log('添加后: ',this.forms.images,data.data.url) } }) }) } 原因: uni.uploadFile()漏掉了2个必填项:如官网所示, name:文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容filePath:要上传文件资源的路径。更多配置见官方文档:uni.uploadFile官方文档 handleSelectImage(files){ console.log('select........',files) console.log(this.forms.images) files.tempFiles.map(imgItem =>{ console.log(imgItem) let formdata = new FormData() formdata.append(imgItem.name,imgItem.file) console.log(formdata) uni.uploadFile({ url:'/api/uploadAvatar?sessionId='+uni.getStorageSync('sessionId'), method:'POST', name:'file', // 必填项 filePath:imgItem.url, //必填项 formaData:formdata, success:(res)=> { console.log(res,JSON.parse(res.data)) let data = JSON.parse(res.data) console.log('添加前: ',this.forms.images) this.forms.images = [...this.forms.images,data.data.url] console.log('添加后: ',this.forms.images,data.data.url) } }) }) } filePath参数:来自 @select选择文件后的回调参数tempFiles的tempFiles数组中每一个文件对象的url属性 name参数默认是字符串"file" |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |