众所周知,基于Webkit的WebView不能直接上传文件,网上普遍的做法是使用一个@hidden的非公开成员方法:setWebChromeClient的openFileChooser,可以打开一个文件选择窗口,但很不幸的是,它只允许选择几个有限的文件类型(图片/视频/录音之类),且只能以系统的ContentProvider的方式选择文件。这就意味着,其它类型或刚生成在/sdcard上还没有被纳入系统ContentProvider里的新文件没办法指定。网上搜到了一个能把本地文件转换成contentProvider的办法,转换出来的url可以被WebView.loadUrl()正常使用,但作为上传文件输入路径时,不能被成功接受。