uniapp图片上传手机端和浏览器端的不同

本文详细记录了在uniapp中处理Android端与浏览器端图片上传差异的问题。通过获取设备类型,针对不同平台使用不同的路径解析方式获取图片后缀名,确保代码在两端都能正常工作。在创建时获取设备平台,然后根据平台分别处理uni.chooseImage()返回的tempFiles,从而正确获取图片的后缀名。
摘要由CSDN通过智能技术生成

做了一个项目,里面用到uniapp上传图片,并且是android端的。我先在浏览器里运行可以,但在手机端就不行,后来经过调试,发现这两个端上传图片时有区别……

下面打印一下 uni.chooseImage({})之后的 success里面的:

android端调试打印的:

浏览器里调试打印的:

所以这个res.tempFiles都各不相同了~;因而之后要找到图片地址路径就得分情况讨论:

之前写一种情况可适用于浏览器就不能适用于手机端。

后来这么写:

console.log(res);
						let fileType = res.tempFiles;
						let hzm=[];
						console.log(fileType);
						if(that.platform == "android"){
							fileType.forEach((item,index)=>{
								console.log(item.path);
								var dist=item.path
								let idx=dist.indexOf(".")
								dist=dist.substring(idx);
								hzm.push(dist)
							})
						}else{
							fileType.forEach((item,index)=>{
								console.log(item.name)
								var dist=item.name
								let idx=dist.indexOf(".")
								dist=dist.substring(idx);
								hzm.push(dist)
							})
						}
						console.log(hzm)

 最后是获取到图片的后缀名。

当然前面得获取设备类型,在created里:

let platform = uni.getSystemInfoSync().platform;
			console.log(platform);
			that.platform = platform;

 这样就可以准确获取到图片的后缀名了 ^_^ ^_^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值