使用HttpWebRequest在c#convert“”中发送base64字符串到空白空间问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用HttpWebRequest在c#convert“”中发送base64字符串到空白空间问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1966字,纯文字阅读大概需要3分钟。
内容图文
![使用HttpWebRequest在c#convert“”中发送base64字符串到空白空间问题](/upload/InfoBanner/zyjiaocheng/815/81d6d24ccf2e45d296b27413d03d8bf8.jpg)
我将图像转换为base64字符串以通过c#.on服务器端的HttpWebRequest上传,当我收到base64字符串时,“”符号已转换为空格“”.它给我错误,将此base64字符串转换为字节数组.我不想在服务器端(在Web服务中)进行任何更改.我想在客户端解决这个问题.我的客户端代码如下.
//////////////////
WSManagerResult wsResult = new WSManagerResult();
try
{
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(serviceURL);
req.Method = "POST";
req.ProtocolVersion = HttpVersion.Version11;
req.ContentType = "application/x-www-form-urlencoded";
// req.ContentType = "application/x-www-form-urlencoded; charset=utf-8";
// req.CookieContainer = new CookieContainer();
string content = string.Empty;
foreach (KeyValuePair<string, string> entry in paramDic)
{
// entry.Value是一个从图像中评定的基础64字符串基因
content = content + entry.Key + "=" + entry.Value + "&&";
}
content = content.TrimEnd('&'); // input parameter if u have more that one //a=b&dd=aa
req.ContentLength = content.Length;
// req = URLEncode(content);
Stream wri = req.GetRequestStream();
byte[] array = Encoding.ASCII.GetBytes(content);
if (array.Length > 0)
wri.Write(array, 0, array.Length);
wri.Flush();
wri.Close();
WebResponse rsp = (HttpWebResponse)req.GetResponse();
byte[] b = null;
using (Stream stream = rsp.GetResponseStream())
using (MemoryStream ms = new MemoryStream())
{
int count = 0;
do
{
byte[] buf = new byte[1024];
count = stream.Read(buf, 0, 1024);
ms.Write(buf, 0, count);
} while (stream.CanRead && count > 0);
b = ms.ToArray();
}
wsResult.result = Encoding.ASCII.GetString(b);
}
catch (Exception e)
{
clsException.ExceptionInstance.HandleException(e);
wsResult.error = e.Message;
}
return wsResult;
base64字符串上面的所有“”符号都被转换为“”white spaces.which导致问题如上所述.
请帮我解决这个问题.
问候
沙哈利德
解决方法:
存在一个名为Base64Url encode的编码,就是为此而设计的.但是,您可能必须在各自的末端进行编码/解码.
在Base64 Url中,它转换为 – 和/到_,这样它就可以安全地通过线路传递而不需要标准的URL编码器添加像空格或百分比十六进制这样的怪异
内容总结
以上是互联网集市为您收集整理的使用HttpWebRequest在c#convert“”中发送base64字符串到空白空间问题全部内容,希望文章能够帮你解决使用HttpWebRequest在c#convert“”中发送base64字符串到空白空间问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。