微信小程序-uploadFile
--图片上传
官网
—wacbg
将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其 header:{'content-type':'multipart/form-data'},这个要配上,如果还需要toke加上'Authorization':take,就ok.
//这个是针对多张图片上传(其实也是一张张的上传--用了promise)// localImgs:[]let _this=this // *最好this指向保存好wx.chooseImage({ //这个来获取图片 count: 1, sizeType: ['original', 'compressed'], sourceType: ['camera'], success(res) { _this.setData({ imgsrc: res.tempFilePaths[0] }) localImgs.push({url: res.tempFilePath,}) }}) //自己把所有获取的图片加到了localImgs里面(我这里就是多张图片存在一起) // 上传的后端url const url = 'http://xxxxx/xx'; // 因为多张图片且数量不定,这里遍历生成一个promiseList let promiseList = localImgs.map((item) => { return new Promise(resolve => { wx.uploadFile({ url, filePath: item.url, name: 'file', header:{'content-type':'multipart/form-data'}, //* 这个也要设置哟 formData: { 'idcode':"cd001", //额外的参数 }, success: (res) => { resolve(res); } }); }); }); // 使用Primise.all来执行promiseList const result = Promise.all(promiseList).then((res) => { // 返回的res是个数据,对应promiseList中请求的结果,顺序与promiseList相同 // 在这里也就是在线图片的url数组了 return res; }).catch((error) => { console.log(error); }); //这样 result就是你要的所有返回值
注意:filePath:(是本地图片地址-也就是chooseImg选择后返回的地址-必须)
header:{'content-type':'multipart/form-data'}配置header
this 这个要保存指向哟!小程序常用到