2016-06-28 7 views
1

私はJavaScriptにbase64で画像を送信しようとしているが、私は、Android Studioでこのエラーを取得しておいてください。AndroidのWebViewの(それがXの文字を超えるとURLをロードするために拒否。)JavaScriptにbase64でエンコードされたURLを送信

W /クロム:[WARNING:navigator_impl.cc(280)] 2097152文字を超えるURLを読み込むことを拒否しています。

私はloadDataWithBaseURLを使用しようとしましたが、実際にはどのJavascriptを実行するのかわからないので、それが解決策かどうかはわかりません。

これ

は、それが一部のイメージのために動作しますが、いくつかが大きすぎると、それは私にそのエラー:(任意の助け

感謝を与え、私が使用しているコードです!

if (resultCode == RESULT_OK) 
{ 
    Uri selectedImage = intent.getData(); 
    myWebView.loadUrl("javascript:setFileUri('" + selectedImage.toString() + "')"); 
    String path = getRealPathFromURI(this, selectedImage); 
    //myWebView.loadUrl("javascript:setFilePath('" + path + "')"); 


    Bitmap bm = BitmapFactory.decodeFile(path); 
    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    bm.compress(Bitmap.CompressFormat.JPEG, 100, baos); //bm is the bitmap object 
    byte[] b = baos.toByteArray(); 

    String encodedImage = Base64.encodeToString(b, Base64.DEFAULT); 

    myWebView.loadUrl("javascript:setFilePath('" + encodedImage + "')"); 
} 

答えて

2

しないでくださいあなたがこれに答えを見つけたかどうかを知っているかどうかを知っていますが、私はいつも同じことをJavascriptに送信しようとしていましたが、loadUrlは私に'2097152 'エラーを与えていましたので、evaluateJavascriptウェブビューの構文エラーが続いていました。それをやり遂げた後、ついにこのように動作しました:

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 
bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream); 
byte[] byteArray = byteArrayOutputStream.toByteArray(); 
String encoded = Base64.encodeToString(byteArray, Base64.DEFAULT); 

try { 
    final String retFunction = "imageReturnFunction('data:image/png;base64," + URLEncoder.encode(encoded, "UTF-8") + "');"; 

    runOnUiThread(new Runnable() { 
     public void run() { 
      webView.evaluateJavascript(retFunction, null); 
     } 
    }); 
} catch(Exception ex) { 
    ex.printStackTrace(); 
} 

私のケースでは(JSアプリケーションではかなり一般的です)dataURLとしてフォーマットする必要がありましたが、必要に応じてコードを調整することができます。お役に立てれば。

+0

共有していただきありがとうございます。私はこれを試してもらう立場にはいませんが、誰かがそれがうまくいっていると言えば、私は正しい答えとしてマークします。 – Eric

関連する問題