for (var i = 0; i < this.imgArr.length; i++) {
						
						uni.$httpTokenRequest({
							url: '/getQiniuToken' //后端生成key和token的接口

						},null,false).then(function(res) {
								let result = uni.$clockWork.useQiniiyun_upload(res.token, uni.$clockWork.imgArr[doneCount])
							
								
								uni.$clockWork.promiseList.push(result)
								
								doneCount++;
								
								
								if (doneCount == uni.$clockWork.imgArr.length) {
									
									Promise.all(uni.$clockWork.promiseList).then(function(res) {
										uni.hideLoading()
                                        //等到所有的图片都上传到七牛云之后,才能进行打卡。
										uni.$clockWork.clockIn(res)

									}, function(err) {
										console.log("错误的err", err)
									})
								}

							},
							function(reason) {
								// 获取七牛云token失败
							})
					}
useQiniiyun_upload(token, path) {
				var that = this
				let promise = new Promise(function(resolve, reject) {
					const filename_qn = new Date().getTime() + ('000000' + Math.floor(Math.random() *
							999999))
						.slice(-6) + '.png';
						
					uni.uploadFile({
						url: "https://up-z2.qiniup.com",
						filePath: path,
						name: 'file',
						formData: {
							'key': filename_qn, // 存到七牛云后的文件名字,访问图片会用到
							'token': token, // uploadToken,每一张图片的token都是不一样的。						},
						// 存成功后的回调
						success: (uploadFileRes) => {
							let key = JSON.parse(uploadFileRes.data).key;
							// 空间绑定的域名(在七牛云配置)+key就是文件的访问地址
							const img_url = 'https://xxxxxxxxx.com/' + key

							resolve(img_url)
						},
						fail: (err) => {
							//uni.hideLoading();
							reject(err)
						}

					})

				})
				return promise
			},

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐