コンソールアプリケーションからASP.NET 5 WEB APIサービスに一部のファイルをアップロードしようとしています。ファイルをASP.Net 5 Web APIにアップロードするとき、IFormFileのコレクションが空です。
クライアント(コンソールアプリケーション):
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;
}
サーバー(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();
}
は残念ながらIFormFileのコレクションは常に空です。 誰でも私にその理由を教えていただけますか?
おかげ
マヌー
問題が解決した場合は、回答を受け入れてください。さもなければ、なぜそれがあなたのために働かないか、答えとしてあなたのために働いたものを提供する(そしてそれを受け入れる)ことについて精緻にすることはあなたにとって素敵でしょう。 –