ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

uni调用chooseImage方法上传base64图片

2022-04-14 11:33:36  阅读:119  来源: 互联网

标签:imgShow chooseImage self base64 uni UploadImage 上传


因为后端需要的是file: (binary)类型的文件,直接使用chooseImage方法返回的数据不符合要求,所以在使用该方法的基础上,又调用了文件上传的方法UploadImage,把文件上传到服务器。

点击按钮,调用chooseImage

<button @click="chooseImage2"></button>

方法

chooseImage2

chooseImage2() {
				let self = this
				uni.chooseImage({
					count: 1, //默认9
					sourceType: ['album', 'camera'], //从相册选择、摄像头
					success: function(res) {
						self.imgShow = res.tempFilePaths[0]
						self.handleImage()
						// uni.navigateTo({
						// 	url: '../food/ingredient'
						// });
					}
				});
			}

handleImage:限制图片大小,并调用上传图片的方法

	async handleImage() {
				if (this.imgShow.size / 1024 > 1024 * 5) {
					// self.$api.msg("图片大于5M,请重新上传");
					console.log("图片大于5M,请重新上传")
				} else if (this.imgShow.size / 1024 > 1025) {
					this.imgShow = await this.imgCompress(this.imgShow)
				}
				// this.$api.msg("服务器带宽有限,图片上传较慢,请耐心等候!")
				let uploadFileRes = await this.UploadImage(this.imgShow)
				console.log(JSON.parse(uploadFileRes))
			},

UploadImage:上传图片

	UploadImage: (img) => {
				return new Promise((resolve, reject) => {
					uni.uploadFile({
						url: 'http://122.51.32.79:8004/hubu/food-info/identification-food',
						filePath: img,
						name: 'file',
						success: (res) => {
							resolve(res.data)
						},
						fail: (err) => {
							reject('err')
						}
					});
				})
			}

标签:imgShow,chooseImage,self,base64,uni,UploadImage,上传
来源: https://www.cnblogs.com/gracexin/p/16143757.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有