我想POST一個參數是base64
到webservice
,但它不起作用。如何將base64 POST到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
}
不是100%肯定的答案,因此評論,但你不能嘗試在發送之前和之後編碼字符串? – npinti