Моя цель состояла в том, чтобы создать REST-сервис, который позволит мне POST и получать изображения.У меня работает часть GET, но у меня возникают трудности с отправкой изображения в созданный мной сервис.Используя шаблон WCF REST Service 40 (CS) , я создал следующий метод для обработки моего POST.
[WebInvoke(Method = "POST", UriTemplate = "upload/?fileName={fileName}")]
public void AddImageToStore(Stream file, string fileName)
{
// Implementation goes here. For now method is empty.
}
Ниже приведен код, который я использую для использования вышеуказанного метода.Если я раскомментирую строку 3 и ничего не отправляю в теле все работает.Если я раскомментирую строку 4 и отправлю текст в теле без ошибок.Однако, если я отправляю изображение в потоке, я получаю сообщение об ошибке «BadRequest (400) не является одним из следующих: OK (200) ...»
Stream theStream = new MemoryStream(File.ReadAllBytes(@"C:\test.jpg"));
Uri uri = new Uri("http://127.0.0.1:50001/MediaService/upload/?fileName=test.jpg");
HttpClient client = new HttpClient(uri);
// HttpContent content = HttpContent.CreateEmpty(); //Status successful
// HttpContent content = HttpContent.Create("test", Encoding.UTF8); //Status successful
// HttpContent content = HttpContent.Create(theStream, "image/jpeg", theStream.Length); //Error when I send a stream!
HttpResponseMessage response = client.Post(uri, content);
response.EnsureStatusIsSuccessful();
Это моя первая попытка потребленияОТДЫХЯ застрял на данный момент, как отладить это.Как я могу получить более подробную информацию о том, что является настоящей ошибкой?Сообщение об ошибке «BadRequest (400) ...» не очень полезно.