​​

问题描述果:

在使用android使用webview调用h5页面上传文件遇到了无法上传的问题。排除h5页面兼容性和js语法错误后,还是无法上传。怎么回事呢?

 

解决方案:

原来android在选择文件之后,获取的图像路径imageUrl没有携带协议头,比如file://

结果下面的语句不出错,但是无法上传。

// imageUrl:/storage/emulated/0/myPhoto/2021_01_28_09_47_20.jpg 
Uri[] results = new Uri[]{Uri.parse(imageUrl)};
uploadMessageAboveL.onReceiveValue(results);
uploadMessageAboveL = null;

 

如果改为下面的语句,一切就会正常

//imageUrl:file:///storage/emulated/0/myPhoto/2021_01_28_08_51_39.jpg
Uri[] results = new Uri[]{Uri.parse(imageUrl)};
uploadMessageAboveL.onReceiveValue(results);
uploadMessageAboveL = null;

 

写在这里,希望后来者留心。