Android webview.postUrl(url,Encodingutils.getBytes(postData,“BASE64”))从postdata字符串中删除“+”

时间:2011-10-07 12:16:10

标签: java android character-encoding

我从Webview发布到https服务器,如下面的URL所示,BASE64为charset。

Send data to page loaded in WebView

我的postdata字符串是Base64编码的字符串,其中包含“+”。

当我按上述网址所示的方式发帖时,服务器日志会显示缺少“+”的postdata字符串

我应该可以从Webview发布任何数据字符串,因为我将发布一个我无法控制的Base64编码字符串。

请帮我解决这个问题。

更新:我甚至尝试过这样的

String postData = "fileContents=" + fileCon;

 mWebView.postUrl(url,postData.getBytes());

但发布时仍然会从postData中删除“+”。如果postData中没有“+”,则会正确发布。

1 个答案:

答案 0 :(得分:5)

+是网址中的特殊字符,代表空格。您需要在发送参数值之前对其进行URL编码。

String postData = "fileContents=" + URLEncoder.encode(fileCon, "UTF-8");