以base64格式上传图像时不允许使用关键字符

时间:2012-11-08 07:30:30

标签: c# windows-phone-7 windows-phone-7.1 windows-phone-8

我正在开发Windows phone(8.0)应用程序,我是新手,我使用下面的代码使用post client以Base64格式将图像发布到服务器

Uri uri = new Uri(UPLOAD_IMAGE_PATH);
UploadImageData requestData = new UploadImageData();
requestData.image = base64String;
string jsonString = JsonConvert.SerializeObject(requestData);
PostClient proxy = new PostClient(jsonString);
proxy.DownloadStringCompleted += new PostClient.DownloadStringCompletedHandler(proxy_DownloadStringCompleted);
proxy.DownloadStringAsync(uri);

其中base64String是使用以下代码

在Bae64中编码的图像字符串
internal static string ImageToBase64String(Stream choosenPhoto,Image image)
{
   WriteableBitmap bmp = new WriteableBitmap((BitmapSource)image.Source);
   byte[] byteArray;
   using (MemoryStream stream = new MemoryStream())
   {
     bmp.SaveJpeg(stream, bmp.PixelWidth, bmp.PixelHeight, 0, 100);
     byteArray = stream.ToArray();
     return Convert.ToBase64String(byteArray); 
   }           
}

在以下回复中,它会在disallowed key charaters上返回“result”。

void proxy_DownloadStringCompleted(object sender, WindowsPhonePostClient.DownloadStringCompletedEventArgs e)
{
   string result = e.Result;
}

但是当我使用来自Mozilla的REST Client发布相同的JSON字符串时,来自服务器的JSON响应是成功的。 我搜索了这个,我得到了一些链接link 1link 2,我需要在Input.php文件中允许服务器端的字符,所以我需要允许哪种字符。它起作用REST Client我错过了我的C#代码,请帮助我

1 个答案:

答案 0 :(得分:0)

它似乎没有明确提到Base64字符串(除非我遗漏了一些东西,从未为WinPhone OS开发过)。您是否检查过要发送POST请求的URL?