做了一个项目,里面用到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;

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐