public class MyWebViewChromeClient extends WebChromeClient {
private ValueCallback<Uri> uploadMessage;
private ValueCallback<Uri[]> uploadMessageAboveL;
// For Android >= 5.0
@Override
public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, WebChromeClient.FileChooserParams fileChooserParams) {
File file = new File("storage/emulated/0/Android/data/com.mycompanydomain.proejectname/files/Pictures/JPEG_21652498916216.jpg");
if (file.exists()) {
Log.e("BBBBBBBB","fileexists");
} else {
Log.e("BBBBBBBB","filenotexists");
}
filePathCallback.onReceiveValue(new Uri[]{Uri.parse("storage/emulated/0/Android/data/com.mycompanydomain.proejectname/files/Pictures/JPEG_21652498916216.jpg")});
return true;
}
}
我正在尝试在webview中处理文件上传。我能够收到文件上传请求,然后使用意图拍照并成功将其保存到路径。 但是,看来
filePathCallback.onReceiveValue(new Uri[]{Uri.parse("storage/emulated/0/Android/data/com.mycompanydomain.proejectname/files/Pictures/JPEG_21652498916216.jpg")});
不起作用,因为Webview无法接收到图像并且什么也没发生。
它表明该文件确实存在,但是Webview只是没有响应,并且上面的代码完全没有作用。 我无法弄清楚代码出了什么问题,有人可以帮助我吗? 非常感谢。
答案 0 :(得分:2)
我终于自己解决了这个问题。
var rootObject = new RootObject();
List<Attribute> attribute = new List<Attribute>();
rootObject.test = attribute;
string JSONresult = JsonConvert.SerializeObject(rootObject);
上面的代码对我有用。