私はWindowsphone(8.0)アプリを開発していますが、これは初めてです。以下のコードを使用して、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から使用して同じJSON文字列を投稿するとREST Client
、サーバーからのJSON応答は成功します。これについて検索したところ、ファイル内のサーバー側で文字を許可する必要があるリンク1、リンク2Input.php
がいくつか見つかりました。したがって、正確にどのような種類の文字を許可する必要があります。それREST Client
は私が私のC#コードで何かを逃したので動作します、私を助けてください