Я сделал некоторые изменения
Я добавил заголовок Content Length
Возможно, вам придется изменить application/pdf
на application/x-www-form-urlencoded
Наконец, я не знаю, какие параметры вы отправляете в headersDictionary, но может отсутствовать имя поля 'file' формы
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST"; // Consider using WebRequestMethods.Http.Post instead of "POST"
if (headersDictionary != null){
foreach (KeyValuePair<string, string> entry in headersDictionary){
request.Headers.Add(entry.Key, entry.Value);
}
}
request.ContentType = "application/pdf";
// Dependending on your server, you may have to change
// to request.ContentType = "application/x-www-form-urlencoded";
byte[] byteArray = requestbody; // I don't know why you create a new variable here
request.ContentLength = byteArray.Length;
using (var dataStream = request.GetRequestStream()){
dataStream.Write(byteArray, 0, byteArray.Length);
}
using(var response = (HttpWebResponse)request.GetResponse()){
using(var reader = new StreamReader(response.GetResponseStream())){
return reader.ReadToEnd();
}
}
В моих тестах с использованием это Я должен использовать request.ContentType = "application/x-www-form-urlencoded"
вместо PDF (я не могу издеваться над всей вашей установкой)
Поскольку у меня нет сервера, который вы пытаетесь отправить, и у меня нет параметров, я не могу проверить это в вашей среде
Для дальнейшего использования HttpWebRequest
является устаревшей (устаревшей) реализацией, которую следует избегать, и в новых реализациях следует использовать HttpClient
читать дальше