我需要通过HTTPS发送一个gzip压缩字节数组。我在网上搜索过,唯一可以找到的东西是SharpGIS.GZipWebClient。
然而,问题是 - 这个第三方解决方案只适用于WebClient,它允许您只发送字符串数据。
(我在Windows Phone 8上。大多数WebClient方法都不存在。)
有什么想法可以解决这个问题吗?
编辑:
这是我使用SharpGIS通过HTTPS尝试POST JSON数据的方式;
WebClient webClient = new SharpGIS.GZipWebClient();
webClient.Headers["Accept-Encoding"] = "gzip";
var uri = new Uri(pUrl, UriKind.Absolute);
webClient.UploadStringCompleted += new UploadStringCompletedEventHandler(wc_UploadStringCompleted);
webClient.UploadStringTaskAsync(uri, jsonAsString);
但它也不压缩字符串(使用OpenWriteSync方法)。
答案 0 :(得分:0)
您在OpenWriteCompleted处理程序中编写发布数据,如下所示:
void webClient_OpenWriteCompleted(object sender, OpenWriteCompletedEventArgs e)
{
Stream s = e.Result;
s.Write(jsonAsByteArray, 0, jsonAsByteArray.Length);
s.Flush();
s.Close();
}
您还应该添加适当的错误处理。