最近公司有个项目是用webview为主搭配原生为辅写的,其中要用到上传图片,于是查了下webView中上传文件的做法:
1.JS中的<input type="file"/>需要重写WebChromeClient中的openFileChooser来响应操作。代码如下:
class MyWebChromeClient extends WebChromeClient {
@Override
public void onProgressChanged(WebView view, int newProgress) {
mPb.setProgress(newProgress);
super.onProgressChanged(view, newProgress);
}
//The undocumented magic method override
//Eclipse will swear at you if you try to put @Override here
// For Android 3.0+
public void openFileChooser(ValueCallback<Uri> uploadMsg) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
startActivityForResult(Intent.createChooser(i,"File Chooser"), FILE_CHOOSER_RESULT_C