input:file如何获取手机上的网络图片路径?

在微信内置浏览器打开一个h5页面,页面上有一个上传图片的功能按钮,点击上传时发现无法获取图片(这里的上传图片用的是PhotoClip这个插件)。然后我各种调试,在调试的时候我有发现并不是所有图片都无法上传,最后我发现原来是我手机内有些图片是正常的带有图片文件后缀的,有些图片是下载的一些网络图片,没有图片文件后缀,例如://——123456.downloading这样的路径(我....),然后在PhotoClip插件中有一个判断选中的文件是否为图片文件的判断:

if (!/image\/\w+/.test(files.type)) {
    alert("图片格式不正确,请选择正确格式的图片文件!");    return false;
} else {    //...
}

这里就又掉进一个坑了——微信内置浏览器中,alert弹框被它给禁止了,也就是说仅管插件弹出警告了,但是由于这个坑爹的机制导致用户在选中这类网络图片的时候回发现无法裁剪上传——既没有提示信息,又没有选中的图片显示,感觉就是失效了...
没办法,,问题出了,还是得想办法解决,我目前只有一个思路:仿写一个toast提示框,提示用户重新选择。但有一个问题就是,万一用户非要较真:我这明明就是一张正常的图片,你为啥不让我上传?妈的什么破项目,抬走...

有没有前辈,指点个更靠谱点的方法咯


芜湖不芜
浏览 1088回答 1
1回答

小怪兽爱吃肉

accept控制上传后缀假如你默认用户上传的无论什么后缀就一定是图片,因为File继承的是Blob所以你只需要改blob的type然后重新new File就能当图片处理。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

小程序