2014-01-09 53 views
0

我正在使用webview和我試圖完成的android應用程序是通過使用post.Url()成功地傳遞base64編碼的圖像在我的php文件,然後顯示它在html5畫布上。Android的webview使用postUrl發送圖像

我有沒有困難在我的PHP文件(網頁)我的問題是這樣的:

String url = "http://localhost/folder/postImage.php"; 

String encodedImage = iVBORw0KGgoAAAANSUhEUgAAAAUA 
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO 
9TXL0Y4OHwAAAABJRU5ErkJggg=="; 

String postData = "image=data:image/png;base64," + encodedImage; 

webview.postUrl(url,EncodingUtils.getBytes(postData, "BASE64")); 

所以,基本上這就是我的編碼工作,我需要的是如何留住POSTDATA的價值,而不是編碼它再次轉換爲BASE64,因爲它已經在BASE64中編碼了。

取而代之的是:

webview.postUrl(url,EncodingUtils.getBytes(postData, "BASE64")); 

要我穿什麼在這裏:

webview.postUrl(url,EncodingUtils.getBytes(postData, "???????")); 

希望你會幫我與我的問題,或者至少暗示。謝謝! :)

回答

0

HTTP.UTF_8

我運行它通過http post base 64和php。

try { 
      HttpClient client = new DefaultHttpClient(); 
      String postURL = "http://www.mywebsite.com/foo.php"; 
      HttpPost post = new HttpPost(postURL); 
      List<NameValuePair> params = new ArrayList<NameValuePair>(); 

      params.add(new BasicNameValuePair("image", image_str)); 

      UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params, 
        HTTP.UTF_8); 
      post.setEntity(ent); 
      HttpResponse responsePOST = client.execute(post); 
      HttpEntity resEntity = responsePOST.getEntity(); 
      if (resEntity != null) { 
       Log.i("RESPONSE", EntityUtils.toString(resEntity)); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
+0

非常感謝!有效!十分感謝 – user3091819