Мы собираемся обсудить загрузку одного и нескольких файлов с помощью интерфейса IFormFile и других интерфейсов, предоставляемых .NET, а также пошаговую реализацию с использованием веб-API .NET Core 6.
Повестка дня
- Введение
- Пошаговая реализация
Предпосылки
- Пакет SDK для .NET Core 6
- Визуальная студия 2022
- SQL-сервер
- Почтальон
Введение
- .NET предоставляет интерфейс IFormFile, который представляет файлы, передаваемые в HTTP-запросе.
- Кроме того, он предоставляет множество свойств, таких как ContentDisposition, ContentType, FileName, Headers, Name и Length.
- IFormFile также предоставляет множество методов, таких как копирование содержимого потока запросов, открытие потока запросов для чтения и многое другое.
Пошаговое внедрение
Шаг 1
Создайте новый веб-API .NET Core.
Шаг 2
Установите следующие пакеты NuGet
Шаг 3
Создайте следующие файловые объекты
FileDetails.cs
FileUploadModel
Тип файла
Шаг 4
Затем класс DbContextClass.cs внутри папки Data.
Шаг 5
Создание файлов IFileService и FileService
IFileService
FileService
Шаг 6
Создайте FilesController.cs внутри раздела контроллера
Шаг 7
Настройте несколько служб в классе программы и внутри контейнера внедрения зависимостей.
Шаг 8
Создайте новую базу данных внутри SQL Server и назовите ее FileUploadDemo.
Шаг 9
Затем создайте таблицу FileDetails, используя следующий скрипт.
Шаг 10
Поместите соединение с базой данных в файл appsettings.json.
Шаг 11
Наконец, мы запускаем приложение
Шаг 12
Теперь мы собираемся загрузить один файл с помощью swagger, указав файл и тип файла на основе идентификатора перечисления.
Шаг 13
Также для загрузки нескольких файлов мы используем Postman. Здесь вы можете видеть, что мы используем индекс массива для отправки файла и его типа, и он будет работать нормально.
Шаг 14
Позже, на основе идентификатора файла, мы можем загружать файлы в локальной системе по указанному пути.
Шаг 15
Здесь вы можете увидеть загруженный файл в указанном месте
Кроме того, в базе данных мы можем видеть любые файлы, которые мы уже загрузили, используя указанные выше конечные точки.
URL-адрес GITHUB:
https://github.com/Jaydeep-007/FileUpload/tree/master/FileUpload
Заключение
В этой статье мы обсудили загрузку одного и нескольких файлов с помощью IFormFile и пошаговую реализацию этого с помощью .NET Core Web API, а также чтение и сохранение файлов из базы данных в указанное место.
Удачного обучения!
Если вы считаете это полезным, пожалуйста, несколько раз нажмите кнопку аплодисментов 👏, чтобы выразить свою поддержку автору 👇