Как отправить файл изображения из Angular в. net core API - PullRequest
0 голосов
/ 11 июля 2020

Я хочу загрузить изображение из моего приложения Angular в. net core api, потому что я хочу сохранить его в базе данных SQL. Для этого я добавляю изображение через:

<input type="file" accept="image/png, image/jpeg">

И у меня есть тип объекта File enter image description here

I found в этом руководстве для API , в котором говорится, что мое свойство в бэкэнде должно выглядеть:

public byte[] ImageData { get; set; }

Но я не совсем уверен, как мне преобразовать его в этот тип, прежде чем я отправлю его в API. Есть идеи?

Ответы [ 2 ]

0 голосов
/ 11 июля 2020

У меня есть один совет, прежде чем вы начнете реализовывать свое решение.

Хранение файлов в базе данных - не лучшая практика. Ваша база данных может стать огромной, и обслуживание этих файлов может стать дорогостоящим для вашего кода.

Вместо этого вы можете хранить эти файлы как stati c для более эффективного обслуживания. Это простой процесс, просто сохраните метаданные (размер, файл, тип и т. Д. c) этих файлов и сохраните путь для обслуживания после.

Для получения дополнительной информации прочтите здесь .

Или выполните следующие действия:

  1. Конвертируйте двоичный код в base64 на вашем javascript клиенте ( как ).
  2. Отправить Строка base64 в вашем запросе тела
  3. В вашей конечной точке получите данные и сохраните в своей базе данных как String
0 голосов
/ 11 июля 2020

Вы можете использовать хранилище для загрузки файлов / изображений, оно должно содержать URL-адрес для этого мультимедийного файла, и вы можете сохранить этот URL-адрес в базе данных SQL. Пожалуйста, перейдите по по этой ссылке для лучшего понимания, предполагая, что вы будете использовать хранилище firebase, но вы можете использовать любого поставщика хранилища или создать свой собственный.

...