webview 上传图片问题

oldcsdn 2016-12-05 11:41:35
使用系统自带的webview做了个简单的浏览器,在使用<input type=file/>上传图片的时候出了问题,图片选择对话框能正常显示和选择,可是选择完成后不能把选择的图片路径填到 file输入框里, Log输出里显示是有值的,谁能帮忙看看, 我用的是android2.2的IDE, SDK版本是 16 - 23

代码:
Log.i("UPFILE","onActivityResult");

if(null == mUploadMessage) return;
if(null==data) return;
if(resultCode==Activity.RESULT_CANCELED) return;

Uri result = getUrl(data);
if(null==result) return;

if(mUploadCallback!=null){
Log.i("UPFILE", "mUploadCallback after parser uri:" + result.toString());
mUploadCallback.onReceiveValue(new Uri[]{result});
}else {
Log.i("UPFILE", "mUploadMessage after parser uri:" + result.toString());
mUploadMessage.onReceiveValue(result);
}
mUploadCallback= null;
mUploadMessage = null;


日志:

V/WebViewInputDispatcher: blockWebkitDraw
V/WebViewInputDispatcher: blockWebkitDraw lockedfalse
D/webview: blockWebkitViewMessage= false
D/CallbackProxy: sendMessageToUiThreadSync Package=com.dazongg.album message=134
I/UPFILE: in openFile Uri Callback has accept Type image/* has capture filesystem
D/AbsListView: Get MotionRecognitionManager
D/AbsListView: onVisibilityChanged() is called, visibility : 4
D/AbsListView: unregisterIRListener() is called
D/AbsListView: onVisibilityChanged() is called, visibility : 0
D/AbsListView: unregisterIRListener() is called
D/AbsListView: unregisterIRListener() is called
D/AbsListView: unregisterIRListener() is called
D/AbsListView: unregisterIRListener() is called
D/AbsListView: unregisterIRListener() is called
D/AbsListView: unregisterIRListener() is called
D/AbsListView: unregisterIRListener() is called
W/IInputConnectionWrapper: showStatusIcon on inactive InputConnection
D/AbsListView: onDetachedFromWindow
D/AbsListView: unregisterIRListener() is called
I/UPFILE: onActivityResult
I/path: /storage/extSdCard/DCIM/Camera/20160404_093404.jpg
I/UPFILE: mUploadMessage after parser uri:file:///storage/extSdCard/DCIM/Camera/20160404_093404.jpg
...全文
143 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
oldcsdn 2016-12-07
  • 打赏
  • 举报
回复
哎,指望CSDN来解决问题是不靠谱的
xjz729827161 2016-12-05
  • 打赏
  • 举报
回复
又是这个坑啊,Android 4.4之前是webkit的核,之后是chromium的核,两种是有差异的,有毛病很正常。如果只是为了解决图片上传的问题,你可先选择上传图片,上传完成后把文件的url注入html就可以了。不过多说一句,这里的文件无法正常的上传只是毛病的一种,以后你会发现更多的问题。一般的做法是封装一个浏览器的核进去,这里推荐crosswalk

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧