我的目的是为了获取用户选择图片的后缀名。
但是在H5端,我在调用了 uni.chooseImage 后,获取到的图片地址是类似于这样的:
blob:http://我本地IP/9496f5a1-2150-457d-892c-c777186a7e3a
返回的内容里也没有关于后缀名的信息。
在APP端和小程序端,图片地址都是有后缀名的。
请问有没有什么办法可以在H5端获取到图片的后缀名。
我的目的是为了获取用户选择图片的后缀名。
但是在H5端,我在调用了 uni.chooseImage 后,获取到的图片地址是类似于这样的:
blob:http://我本地IP/9496f5a1-2150-457d-892c-c777186a7e3a
返回的内容里也没有关于后缀名的信息。
在APP端和小程序端,图片地址都是有后缀名的。
请问有没有什么办法可以在H5端获取到图片的后缀名。
通过XMLHttpRequest对象将Blob链接转换为Blob对象 就可以获取到了
const blobUrl = blob:http://我本地IP/9496f5a1-2150-457d-892c-c777186a7e3a
// 通过XMLHttpRequest对象将Blob链接转换为Blob对象
const xhr = new XMLHttpRequest();
xhr.open('GET', blobUrl);
xhr.responseType = 'blob';
xhr.onload = () => {
var blob = xhr.response;
var ext = blob.type.split('/').pop(); // 获取文件的后缀
};
xhr.send();
街角de枫林
我试了下通用的写法,用vue封装一个input上传方法,js动态添加类型type=file(因为uni的input是封装了一层,跟普通h5中的input不一样),调用这个方法就可以拿到相应的后缀名,上传前要转本地文件路径为base64,控制上传类型(仅图片)以及图片大小就可以了
2019-06-10 11:18
9***@qq.com
回复 街角de枫林: 我也遇到同样的问题了, 请问您是怎么解决的?
2019-07-30 12:26
2***@qq.com
回复 街角de枫林: 怎么写的?
2019-08-23 10:07
1***@qq.com
你的意思是不用uni.chooseImage,而是使用input去拿本地图片地址
2019-11-07 14:22
i***@163.com
回复 1***@qq.com: 他就是这个意思 不过官方也真是服气了 从这个问题提出来2月份到现在快12月份 都没有解决h5平台chooseimage的这个问题
2019-11-28 17:13