Когда файл загружается на «логический» сервер, я жду, пока весь файл не будет загружен, прежде чем загружать файл на сервер хранения.
Код выглядит следующим образом:
Код: Выделить всё
[HttpPost]
public async Task UploadContent(IFormFile file)
{
string filePath = $@"Z:\abc\{file.FileName}";
await using (var stream = new FileStream(filePath, FileMode.Create))
{
await file.CopyToAsync(stream);
}
MultipartFormDataContent data = new MultipartFormDataContent();
data.Add(new StreamContent(new FileStream(filePath, FileMode.Open)), "files", Path.GetFileName(filePath));
HttpRequestMessage httpRequestMessage = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri(_storageAPIEndpoint),
Headers = {
{
HttpRequestHeader.Authorization.ToString(), $"Bearer {_password}" }
},
Content = data
};
var response = client.SendAsync(httpRequestMessage).Result;
return Ok();
}
Новый код выглядит следующим образом:
Код: Выделить всё
[HttpPost]
public async Task StreamContent()
{
MultipartFormDataContent data = new MultipartFormDataContent();
Stream stream = Request.Body;
data.Add(new StreamContent(stream), "files"); //
Подробнее здесь: [url]https://stackoverflow.com/questions/79006750/is-there-a-way-to-get-the-name-of-an-uploaded-file-in-asp-net-when-handling-the[/url]