Мы собираемся обсудить загрузку одного и нескольких файлов с помощью интерфейса 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, а также чтение и сохранение файлов из базы данных в указанное место.

Удачного обучения!

Если вы считаете это полезным, пожалуйста, несколько раз нажмите кнопку аплодисментов 👏, чтобы выразить свою поддержку автору 👇

🚀Присоединяйтесь к FAUN и получайте похожие истории в свой почтовый ящик каждую неделю