Я пытаюсь загрузить файл (просто .jpeg изображение) и сохранить его на моем сервере. Я написал следующий код для этого:
Db context
public class ApplicationContext : DbContext
{
private readonly string _connectionString;
public ApplicationContext(IConfiguration configuration)
{
_connectionString = configuration.GetConnectionString("Recipes");
}
public DbSet<FileModel> Files { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseNpgsql(_connectionString);
}
}
Модель
public class FileModel
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Name { get; set; }
public string Path { get; set; }
}
Метод моего контроллера для загрузки
public async Task<IActionResult> AddFile(IFormFile uploadedFile)
{
string path = "";
if (uploadedFile != null)
{
// путь к папке Files
path = "/Files/" + uploadedFile.FileName;
using (var fileStream = new FileStream(_appEnvironment.WebRootPath + path, FileMode.Create))
{
await uploadedFile.CopyToAsync(fileStream);
}
FileModel file = new FileModel { Name = uploadedFile.FileName, Path = path };
_applicationContext.Files.Add(file);
_applicationContext.SaveChanges();
}
Следующий шаг, который я собираюсь сделать, это протестировать его с помощью Insomnia rest client . Я настроил все в соответствии с документацией Insomnia (для передачи заголовка multipart / form-data) и отправил запрос. Но в uploadedFile
я вижу ноль.
Вот скриншот бессонницы
и экран результата:
Почему uploadedFile
равно нулю? Где ошибка?