Cześć,
całkiem sprawnie sobie radzę z obsługą REST w c# ale trafiłem na ścianę.
Muszę przesłać plik i inne pola wg specyfikacji poniższej.
Otrzymuję błąd BadRequest 400. Może podpowiecie mi co robię źle?
Mam przeczucie że zawartość pliku powninno się przekazać inaczej ale nie wiem jak :(
HttpWebRequest request = GetHttpWebRequest("/api/offers/imports", "POST");
request.MediaType = "multipart/form-data input";
request.ContentType = "multipart/form-data input";
try
{
string text = null;
CSVOffer offer = new CSVOffer();
offer.import_mode = "REPLACE";
offer.with_products = false;
offer.file = Offers.GetFile(shop); // zawartość pliku CSV
Stream dataStream = request.GetRequestStream();
string jsonEncodedParams = Bll.RESTHelper.ToJson(offer);
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
byte[] byteArray = encoding.GetBytes(jsonEncodedParams);
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
using (WebResponse webResponse = request.GetResponse())
{
Stream responseStream = webResponse.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
text = reader.ReadToEnd();
}
}
catch (WebException ex)
{
Specyfikacja metody tutaj: