Android webview使用postUrl发送图片

时间:2014-01-09 15:05:37

标签: android image webview base64

我正在开发一个使用webview的Android应用程序,我正在尝试完成的是通过使用post.Url()在我的php文件上成功传递base64编码的图像,然后在html5画布上显示它。

我的php文件(web)没有任何困难我的问题是:

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, "???????"));

希望你能解决我的问题,或者至少建议你。谢谢! :)

1 个答案:

答案 0 :(得分: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();
        }