Я разрабатываю приложения для Windows phone (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;
}
Но когда я отправляю ту же строку JSON, используя REST Client
от Mozilla, ответ JSON от сервера проходит успешно. Я искал об этом и получил несколько ссылок ссылка 1, ссылка 2, что мне нужно разрешить символы на стороне сервера в файле Input.php
. Итак, какой именно символ мне нужен позволять. Он работает с REST Client
, я что-то пропустил в своем коде C #, пожалуйста, помогите мне