По какой-то причине, когда я отправляю сообщение с моего приложения xamarin, я получаю 500, используя хром Advanced Rest Client. Я могу опубликовать фотографию, чтобы служба работала (проблема в сообщении приложения). ..Xamarin post photo to azure mobile service
Мой контроллер:
public class BlobController : ApiController
{
public Task<List<FileDetails>> Post()
{
if (!Request.Content.IsMimeMultipartContent("form-data"))
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
return FileStorage.StoreFiles(WebConfigurationManager.AppSettings["WebApiContainer"], Request);
}
public class FileDetails
{
public string Name { get; set; }
public long Size { get; set; }
public string ContentType { get; set; }
public string Location { get; set; }
}
Мой пост:
public async Task<FileDetails> PostPhotoRequest(string fileName, MemoryStream file)
{
byte[] response = await _service.PostFileRequest("Blob", fileName, file);
string json = System.Text.Encoding.UTF8.GetString(response, 0, response.Length);
if (string.IsNullOrEmpty(json)) { return new FileDetails(); }
return JsonConvert.DeserializeObject<FileDetails>(json);
}
public async Task<byte[]> PostFileRequest(string url, string filename, MemoryStream file)
{
var client = new HttpClient();
var content = new MultipartFormDataContent("boundary=----WebKitFormBoundaryGQ9UK82gG8XpzEBT");
content.Add(new StreamContent(file));
content.Add(new FormUrlEncodedContent(new List<KeyValuePair<string, string>> { new KeyValuePair<string, string>("filename", filename) }));
content.Headers.Add("X-ZUMO-APPLICATION", Constants.MobileServiceApplicationKey);
var response = await client.PostAsync(Constants.MobileServiceUrl + "api/" + url, content);
if (response.StatusCode == HttpStatusCode.OK)
{
byte[] responseContent = await response.Content.ReadAsByteArrayAsync();
return responseContent;
}
return null;
}
ответ StatusCode: Внутренняя ошибка сервера