0

私は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#コードで何かを逃したので動作します、私を助けてください

4

1 に答える 1

0

Base64文字列について明示的に言及していないようです(WinPhone OS用に開発したことがなく、何かが欠けていない限り)。POST リクエストを送信する URL を確認しましたか?

于 2012-11-08T07:49:18.087 に答える