Подскажите, пожалуйста, как я могу отправить POST запрос с телом form-data, состоящим из нескольких файлов и текстовых полей используя RestSharp?
Тело которое нужно отправить
Когда я отправляю только один файл, таким способом
public void uploadFile()
{
var client = new RestClient(baseUrl)
var request = new RestRequest("/import", Method.POST);
request.AlwaysMultipartFormData = true;
request.AddHeader("Content-Type", "multipart/form-data");
request.AddHeader("Authorization", "Bearer " + token);
request.AddFile("nameFileField", "D:/files/file.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
IRestResponse response = client.Execute(request);
Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
}
Проблем нет, но когда аналогичным способом составляю тело из нескольких файлов и двух параметров, так:
public void uploadFile()
{
var client = new RestClient(baseUrl)
var request = new RestRequest("/import", Method.POST);
request.AlwaysMultipartFormData = true;
request.AddHeader("Content-Type", "multipart/form-data");
request.AddHeader("Authorization", "Bearer " + token);
request.AddFile("nameFileField1", "D:/files/file1.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
request.AddFile("nameFileField2", "D:/files/file2.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
request.AddFile("nameFileField3", "D:/files/file3.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
request.AddFile("nameFileField4", "D:/files/file4.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
request.AddParameter("startDate", "10/28/2019", "multipart/form-data", ParameterType.RequestBody);
request.AddParameter("endtDate", "10/30/2019", "multipart/form-data", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
}
В Content-Type "boundary=----WebKitFormBoundarydCuaQZ6nmzyAWNQL" подставлял, не помогает.
Аналогичный запрос, при составлении в postman - отрабатывает корректно, но при копировании из postman кода запроса:
request.AddHeader("content-type", "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW");
request.AddParameter("multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW", "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"File1\"; filename=\"File1.xlsx\"\r\nContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"File2\"; filename=\"File2.xlsx\"\r\nContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"File3\"; filename=\"File3.xlsx\"\r\nContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"File4\"; filename=\"File4.xlsx\"\r\nContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"startDate\"\r\n\r\n10/28/2019\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"endDate\"\r\n\r\n10/30/2019\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--", ParameterType.RequestBody);
Запрос возвращает код 200, но файлы не отправляются.
Подскажите, пожалуйста, как можно решить данную проблему, что бы и запрос 200 вернул и файлы отправились?
(заранее приношу извинения если вопрос глупый, но решения проблемы к сожалению не нашёл. Буду очень признателен за помощь.)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Подскажите пожалуйста каким образом в XML документе найти узел и его дочерние элементы и при этом вернуть объект класса соответствующий этим...
Есть метод для связи между таблицами и биндинг к гриду
В бд есть поле типа longtext, в него записан массив такого типа
Значение 0 недопустимо для RowCountRowCount должен быть больше или равен 1