为了账号安全,请及时绑定邮箱和手机立即绑定

WebView中的文件上传

WebView中的文件上传

慕森王 2019-06-14 17:33:01
WebView中的文件上传我一直在努力上传文件从WebView从过去几天,没有任何进展。我搜索并实现了所有建议的解决方案,但都没有效果,比如:建议的解决方案。这里等等。问题:我有一个HTML页面,上面有下面的代码来上传一个文件。它在像Firefox这样的桌面浏览器和内置仿真器/AVD浏览器中工作得很好,也就是说,当我单击“Browse.”按钮由元素呈现,浏览器打开一个对话框,我可以选择一个文件上传。但是,在Android3.0模拟器/AVD中,当我单击“选择文件”时,什么都不会发生,没有打开任何文件对话框!<form method="POST" enctype="multipart/form-data">File to upload: <input type="file" name="uploadfile">&nbsp;&nbsp; <input type="submit" value="Press to Upload..."> to upload the file!</form>有谁能尽快提出一个可行的解决方案吗?
查看完整描述

3 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

这是我找到的唯一可行的解决方案!

WebView webview;private ValueCallback<Uri> mUploadMessage;private final static int FILECHOOSER_RESULTCODE = 1;
@Overrideprotected void onActivityResult(int requestCode, int resultCode,
        Intent intent) {
    if (requestCode == FILECHOOSER_RESULTCODE) {
        if (null == mUploadMessage)
            return;
        Uri result = intent == null || resultCode != RESULT_OK ? null
                : intent.getData();
        mUploadMessage.onReceiveValue(result);
        mUploadMessage = null;

    }}// Next part class MyWebChromeClient extends WebChromeClient {
    // The undocumented magic method override
    // Eclipse will swear at you if you try to put @Override here
    public void openFileChooser(ValueCallback<Uri> uploadMsg) {

        mUploadMessage = uploadMsg;
        Intent i = new Intent(Intent.ACTION_GET_CONTENT);
        i.addCategory(Intent.CATEGORY_OPENABLE);
        i.setType("image/*");
        Cv5appActivity.this.startActivityForResult(
                Intent.createChooser(i, "Image Browser"),
                FILECHOOSER_RESULTCODE);
    }}


查看完整回答
反对 回复 2019-06-14
  • 3 回答
  • 0 关注
  • 632 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信