如何将base64发布到Webservice(How to POST base64 to Webservice)

编程入门 行业动态 更新时间:2024-10-27 23:27:46
如何将base64发布到Webservice(How to POST base64 to Webservice)

我想POST一个参数,它是base64到webservice ,但它不起作用。

string postData = "base64=hySGNg22yX0AIjNQvNJw0xHEbi32NH+iRVKDkbOmUiKpxW0/S6rUgfLmSa527Y8zZ3GmEzfXMB8ry8fH5GjGeJFGqFxDC4A2hLlvIFzyiDeUCqloGDAJoOLa8Jnif1C8nwRte0GNCRM5RXkshLKZP2itZclgDCYz6OgAF7oLNluoB44cZ3AgF1Q8hVgME8LeqgOqxsIzTt3Xn+96j7zp/wA="; byte[] dataArray = Encoding.Default.GetBytes(postData); HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(ServerPage); request.Method = "POST"; request.ContentLength = dataArray.Length; request.ContentType = "application/x-www-form-urlencoded"; Stream dataStream = null; try { dataStream = request.GetRequestStream(); } catch (Exception) { } dataStream.Write(dataArray, 0, dataArray.Length); dataStream.Close();

但requestHeader参数更改为:

base64=hySGNg22yX0AIjNQvNJw0xHEbi32NH%2BiRVKDkbOmUiKpxW0%2FS6rUgfLmSa527Y8zZ3GmEzfXMB8ry8fH5GjGeJFGqFxDC4A2hLlvIFzyiDeUCqloGDAJoOLa8Jnif1C8nwRte0GNCRM5RXkshLKZP2itZclgDCYz6OgAF7oLNluoB44cZ3AgF1Q8hVgME8LeqgOqxsIzTt3Xn%2B96j7zp%2FwA%3D

所以WebService收到一个错误的参数:

[WebMethod] public string GenerateOrder(string base64) { byte[] buffer = Convert.FromBase64String(base64); //Exception here }

I want POST one parameter which is base64 to webservice, but it doesn't work.

string postData = "base64=hySGNg22yX0AIjNQvNJw0xHEbi32NH+iRVKDkbOmUiKpxW0/S6rUgfLmSa527Y8zZ3GmEzfXMB8ry8fH5GjGeJFGqFxDC4A2hLlvIFzyiDeUCqloGDAJoOLa8Jnif1C8nwRte0GNCRM5RXkshLKZP2itZclgDCYz6OgAF7oLNluoB44cZ3AgF1Q8hVgME8LeqgOqxsIzTt3Xn+96j7zp/wA="; byte[] dataArray = Encoding.Default.GetBytes(postData); HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(ServerPage); request.Method = "POST"; request.ContentLength = dataArray.Length; request.ContentType = "application/x-www-form-urlencoded"; Stream dataStream = null; try { dataStream = request.GetRequestStream(); } catch (Exception) { } dataStream.Write(dataArray, 0, dataArray.Length); dataStream.Close();

but parameter in requestHeader changes to:

base64=hySGNg22yX0AIjNQvNJw0xHEbi32NH%2BiRVKDkbOmUiKpxW0%2FS6rUgfLmSa527Y8zZ3GmEzfXMB8ry8fH5GjGeJFGqFxDC4A2hLlvIFzyiDeUCqloGDAJoOLa8Jnif1C8nwRte0GNCRM5RXkshLKZP2itZclgDCYz6OgAF7oLNluoB44cZ3AgF1Q8hVgME8LeqgOqxsIzTt3Xn%2B96j7zp%2FwA%3D

so WebService receives a wrong parameter:

[WebMethod] public string GenerateOrder(string base64) { byte[] buffer = Convert.FromBase64String(base64); //Exception here }

最满意答案

在从base64转换回来之前使用HttpUtility.UrlDecode(base64) 。

Use HttpUtility.UrlDecode(base64), before converting it back from base64.

更多推荐

本文发布于:2023-07-18 11:37:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1159795.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何将   POST   Webservice

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!