最近在做项目的时候遇到一个很诡异的问题,后来找到原因以后,发现原因很简单,修改很easy,不多大多数情况下我们都容易忽略。
问题描述:使用Android手机中的html界面调用拍照功能(未使用第三方插件),发现照片无法传上去,但是使用从相册选择功能,就可以正常上传照片。后来我把上次通过拍照存储的照片,通过从相册上传的方式去上传,发现也传不上去。
刚开始,我以为是因为路径的原因,图片路径无访问权限,但看了读取长度是正常的,说明可以正常读取,那么很有可能就是格式的原因。
我发现从相册选择的格式都是jpg类型,但是拍照生成的照片是png类型,以为png类型图片不支持,但我找了一张png类型的图片,依然可以上传成功。那么就说明,可能是拍照生成的png图片是不支持的。
偶然发现通过手机助手查看照片,拍照生成的图片的类型和普通图片格式不一样,而且在图库中显示不出来,我就更加确定是由于拍照生成的格式问题导致的。
修改方法也很简单,就是在拍照后,生成路径的时候,把图片地址的后缀由png改为jpg,Android手机拍照生成的图片默认就是jpg格式,不知道是谁写的代码,给我挖了一个这么大的坑,不过终于是搞定了。