Sto tentando di caricare alcuni file da un'applicazione console in un servizio API Web ASP.NET 5.Durante il caricamento di file su API Web ASP.Net 5, la raccolta di IFormFile è vuota
client (console app):
private static HttpResponseMessage UploadFiles(string[] files, Uri uploadEndpoint)
{
var message = new HttpRequestMessage();
var content = new MultipartFormDataContent();
foreach (var file in files)
{
var fs = new FileStream(file, FileMode.Open);
var index = file.LastIndexOf(@"\");
var fn = file.Substring(index + 1);
fs.Position = 0;
content.Add(new StreamContent(fs), "file", fn);
}
message.Method = HttpMethod.Post;
message.Content = content;
message.RequestUri = uploadEndpoint;
var client = new HttpClient();
return client.SendAsync(message).Result;
}
Server (Asp.Net 5) Web API
[HttpPost("upload")]
public IActionResult UploadFiles(ICollection<IFormFile> files)
{
var streams = files.Select(f => f.OpenReadStream()).ToArray();
var names = files.Select(f => ContentDispositionHeaderValue.Parse(f.ContentDisposition).FileName).ToArray();
ProcessFiles(streams, names);
return new HttpOkResult();
}
Purtroppo la raccolta di IFormFile è sempre vuoto. Chiunque può dirmi perché?
Grazie
Manu
Si prega di accettare una risposta se ha risolto il tuo problema. Altrimenti sarebbe bello da parte tua spiegare perché non funziona per te o fornire ciò che ha funzionato per te come risposta (e accettarlo). –