uniapp 上传文件 封装方法

封装: 

import {baseURL} from './request.js'
import {toast,toa} from './toast.js'
export const uploadFile = (tempFilePaths,data)=>{
	return new Promise((resolve, reject) => {
	toa.loading('上传中..')
	 uni.uploadFile({
			url: baseURL + '/common/upload', //仅为示例,非真实的接口地址
			filePath: tempFilePaths,
			name: 'file',
			formData: {...data,token:uni.getStorageSync('token') || ''},
			success: (res) => {
				toa.hideLoading()
				console.log(res);
				if(res.statusCode==200){
					resolve(JSON.parse(res.data).data)
				}
			},
			fail:(err)=>{
				toa.hideLoading()
				toast(JSON.parse(err.data).msg)
				console.log(err,'上传报错');
				// return 
				reject(err)
			}
		})
	})
}

baseUrl: 基地址 

toast toa 是单独封装的提示  

调用upload方法时可以传入两个参数 第一个是图片路径 第二个是formdata的 其他参数

 使用:

upLoadImg() {
				uni.chooseImage({
					count: 9 - that.imgList.length, //默认9
					sizeType: ['original'], //可以指定是原图还是压缩图,默认二者都有 , 'original','compressed'
					sourceType: ['album'], //从相册选择
					success: async function(res) {
						console.log(JSON.stringify(res.tempFilePaths));
						const tempFilePaths = res.tempFilePaths;
						for (let i = 0; i < tempFilePaths.length; i++) {
							const result = await uploadFile(tempFilePaths[i])
							that.imgList.push(result)
						}
					}
				});
			},

注意 async await的位置哈 否则会拿不到数据

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值