Как загрузить файл с помощью Angular?

#angular #file #download #downloadfile

#angular #файл #Скачать

Вопрос:

У меня есть файл изображения, который отображается в браузере. Итак, чтобы отобразить изображение, браузер должен отправить запрос get и загрузить его в память для отображения изображения.

У меня также есть кнопка загрузки изображения. Итак, когда я нажимаю на него, он генерирует большой двоичный объект и загружает его.

Используя эту реализацию, я должен загрузить один и тот же файл два раза. Один раз для предварительного просмотра и снова для загрузки.

Теперь мой вопрос:

Есть ли способ напрямую сохранить файл на диск из файла, который уже загружен в браузер для отображения?

Комментарии:

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

2. @SwarupChavan Для файла изображения я могу воспользоваться вашим решением, но мой проект также включает видео и PDF-файлы. Для файлов такого типа будет невозможно кэшировать такой огромный объем данных.

Ответ №1:

Вы можете сделать это с помощью тега привязки, проверьте приведенный ниже код

 <a download href="{{url}}">Download</a>
  

Комментарии:

1. Это позволит снова загрузить файл с сервера, а затем сохранить файл на диск.

2. В моей реализации кода я показываю предварительный просмотр изображения пользователю. Итак, когда пользователь может видеть изображение в браузере, это означает, что файл уже загружен во временную память браузера. Итак, чего я хочу, вместо того, чтобы снова извлекать файл с сервера, я хочу сохранить файл на диск непосредственно из временной памяти браузера.