我正在开发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
是使用以下代码
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 1,link 2,我需要在Input.php
文件中允许服务器端的字符,所以我需要允许哪种字符。它起作用REST Client
我错过了我的C#代码,请帮助我
答案 0 :(得分:0)
它似乎没有明确提到Base64字符串(除非我遗漏了一些东西,从未为WinPhone OS开发过)。您是否检查过要发送POST请求的URL?