0
:WebViewでは中国語を含むURLを処理できませんか?私はちょうどつもり名の下に、次のようにWebViewのを隠す方法を使用して、中国含むファイルをアップロードしています
public void openFileChooser(ValueCallback<Uri> uploadMsg) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
((Activity) mContext).startActivityForResult(
Intent.createChooser(i, "File Chooser"),
WebViewActivity.FILECHOOSER_RESULTCODE);
}
// For Android 3.0+
public void openFileChooser(ValueCallback uploadMsg,
String acceptType) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
((Activity) mContext).startActivityForResult(
Intent.createChooser(i, "File Browser"),
WebViewActivity.FILECHOOSER_RESULTCODE);
}
// For Android 4.1
public void openFileChooser(ValueCallback<Uri> uploadMsg,
String acceptType, String capture) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
((Activity) mContext).startActivityForResult(
Intent.createChooser(i, "File Chooser"),
WebViewActivity.FILECHOOSER_RESULTCODE);
}
});
このコードが実行するのに良いです、と私は中国語の文字なしで正常にファイルをアップロードすることができます。
if (null == mUploadMessage) return;
Uri result = intent == null || resultCode != RESULT_OK ? null : intent.getData();
mUploadMessage.onReceiveValue(***result***);
mUploadMessage = null;
この結果はURIの一種であり、そのパスは、中国が含まれ、その後、問題が発生します。それは私が名前の漢字を持つファイルを選択すると、その後、私はこのようなコールバックを取得問題ようになりましたWebViewは次のような例外を出します: net::ERR_FILE_NOT_FOUND
、私はutf-8でUriのパスをフォーマットしようとしましたが、うまく動作しませんでした。
誰でもこの問題を抱えていますか?私は3日間これについて悩まされている、誰が私を助けることができる、ありがとうたくさんの!