Android webview.postUrl(url,Encodingutils.getBytes(postData,"BASE64")) 删除“”“#x2B;”来自 postdata 字符串

发布于 2024-12-08 19:15:02 字数 586 浏览 0 评论 0 原文

我从 Webview 发布到 https 服务器,如下面的 URL 所示,使用 BASE64 作为字符集。

将数据发送到 WebView 中加载的页面

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

当我按照上面 URL 所示的方式发布时,服务器日志显示 postdata 字符串缺少“+”,

我应该能够从 Webview 发布任何数据字符串,因为我将发布一个 Base64 编码的字符串,但我不这样做没有控制权。

请帮我解决这个问题。

更新:我什至尝试过这样

String postData = "fileContents=" + fileCon;

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

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

I am posting from a Webview to the https server as shown in the below URL with BASE64 as charset.

Send data to page loaded in WebView

My postdata string is a Base64 encoded string with "+" in it.

When i am posting in the way as shown in the above URL, server log shows postdata string with a missing "+"

I should be able to post any data string from the Webview because i will be posting a Base64 Encoded string on which i don't have control.

Please help me solve this issue.

Update:I even tried like this

String postData = "fileContents=" + fileCon;

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

But still "+" is removed from postData when it is posting.If there is no "+" in the postData, it posts correctly.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

惜醉颜 2024-12-15 19:15:02

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

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

The + is a special character in URLs and represents a space. You need to URL-encode the parameter value before sending it.

String postData = "fileContents=" + URLEncoder.encode(fileCon, "UTF-8");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文