Тип содержимого файла не передается в контроллер Тип содержимого, отображаемый в представлении, но не передается в контроллер Asp.net core 3.0, EF core, используется API-контроллер, Blazor Server сторона
Просмотр кода
async Task UploadFile()
{
try
{
var form = new MultipartFormDataContent();
var content = new StreamContent(file.Data);
content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("form-data")
{
Name = "files",
FileName = file.Name
};
form.Add(content);
var url = UriHelper.ToAbsoluteUri("api/Document/Upload");
var response = await HttpClient.PostAsync(url.ToString(), form);
this.OnInitializedAsync();
}
catch (Exception ex)
{
throw ex;
}
}
Код контроллера
[HttpPost()]
public async Task<IActionResult> Upload(List<IFormFile> files)
{
long size = files.Sum(f => f.Length);
byte[] bytes;
IFormFile fileUpload = files.FirstOrDefault();
using (BinaryReader br = new BinaryReader(fileUpload.OpenReadStream()))
{
bytes = br.ReadBytes(Convert.ToInt32(fileUpload.Length));
}
using (var dataContext = new LaborgDbContext())
{
var entity = new FileUpload
{
DocumentName = fileUpload.FileName,
ContentType = fileUpload.ContentType,
FileByte = bytes,
};
dataContext.Add(entity);
return Ok(dataContext.SaveChanges());
}