91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Android WebView文件上傳如何處理

小樊
222
2024-06-19 10:44:03
欄目: 編程語言

在Android WebView中處理文件上傳的步驟如下:

  1. 設置WebChromeClient對象:要處理文件上傳,必須為WebView設置一個WebChromeClient對象并重寫onShowFileChooser方法。在該方法中,可以創建一個FileChooser對象并顯示文件選擇器。
webView.setWebChromeClient(new WebChromeClient() {
    // For Android 4.1+
    public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
        mUploadMessage = uploadMsg;
        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        intent.setType("image/*");
        startActivityForResult(Intent.createChooser(intent, "File Chooser"), FILE_CHOOSER_RESULT_CODE);
    }

    // For Android 5.0+
    @Override
    public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, WebChromeClient.FileChooserParams fileChooserParams) {
        mFilePathCallback = filePathCallback;
        Intent intent = fileChooserParams.createIntent();
        startActivityForResult(intent, FILE_CHOOSER_RESULT_CODE);
        return true;
    }
});
  1. 處理文件選擇結果:在Activity的onActivityResult方法中處理文件選擇結果,并將選定的文件傳遞給WebView。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == FILE_CHOOSER_RESULT_CODE) {
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
            if (mUploadMessage == null)
                return;
            Uri result = data == null || resultCode != RESULT_OK ? null : data.getData();
            mUploadMessage.onReceiveValue(result);
            mUploadMessage = null;
        } else {
            if (mFilePathCallback == null)
                return;
            mFilePathCallback.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(resultCode, data));
            mFilePathCallback = null;
        }
    }
}
  1. 在Web頁面中調用文件上傳:在Web頁面中調用文件上傳時,可以使用<input type="file">標簽或JavaScript來觸發文件選擇對話框。
<input type="file" id="fileInput" name="fileInput" />
<script>
    var fileInput = document.getElementById('fileInput');
    fileInput.addEventListener('change', function() {
        // Handle file selection
    });
</script>

通過以上步驟,您可以在Android WebView中處理文件上傳操作。您可以根據需要修改代碼以適應您的具體要求。

0
高碑店市| 凤冈县| 繁昌县| 连南| 图片| 黄大仙区| 巧家县| 老河口市| 汝阳县| 兴义市| 南召县| 宝应县| 陈巴尔虎旗| 祁阳县| 大丰市| 安岳县| 清徐县| 呼和浩特市| 安陆市| 大理市| 尼勒克县| 苏尼特左旗| 襄樊市| 黄龙县| 疏附县| 阿克苏市| 鸡泽县| 资讯| 阳城县| 久治县| 淳化县| 濮阳市| 莆田市| 庄河市| 昭平县| 咸丰县| 阿克陶县| 怀宁县| 六枝特区| 利津县| 荔波县|