I have a problem with the application sending the file to the web service. This is my endpoint/controller.
[HttpPost] public async Task<IActionResult> Post(List<IFormFile> files) { long size = files.Sum(f => f.Length); foreach (var formFile in files) { if (formFile.Length > 0) { var filePath = "C:\\Files\\TEST.pdf"; using (var stream = System.IO.File.Create(filePath)) { await formFile.CopyToAsync(stream); } } } This controller works fine in Postman.
and this is my application that makes the request:
byte[] bytes = System.IO.File.ReadAllBytes("C:\\Files\\files.pdf"); Stream fileStream = File.OpenRead("C:\\Files\\files.pdf"); HttpContent bytesContent = new ByteArrayContent(bytes); using (var client = new HttpClient()) using (var formData = new MultipartFormDataContent()) { formData.Add(bytesContent,"file", "files.pdf"); try { var response = await client.PostAsync(url, formData); }catch(Exception ex) { Console.WriteLine(ex); } It doesn't work. I'm not receiving the file in controller. I also tried this:
string fileToUpload = "C:\\Files\\files.pdf"; using (var client = new WebClient()) { byte[] result = client.UploadFile(url, fileToUpload); string responseAsString = Encoding.Default.GetString(result); } but the result is the same. Would you be able to help?
