#angular #file #download #downloadfile
#angular #файл #Скачать
Вопрос:
У меня есть файл изображения, который отображается в браузере. Итак, чтобы отобразить изображение, браузер должен отправить запрос get и загрузить его в память для отображения изображения.
У меня также есть кнопка загрузки изображения. Итак, когда я нажимаю на него, он генерирует большой двоичный объект и загружает его.
Используя эту реализацию, я должен загрузить один и тот же файл два раза. Один раз для предварительного просмотра и снова для загрузки.
Теперь мой вопрос:
Есть ли способ напрямую сохранить файл на диск из файла, который уже загружен в браузер для отображения?
Комментарии:
1. Вы можете попробовать кэшировать эти данные либо с помощью кэшируемой библиотеки, чтобы новый запрос не отправлялся, и вы можете загрузить из кэш-памяти, возможно ли это в вашем проекте?
2. @SwarupChavan Для файла изображения я могу воспользоваться вашим решением, но мой проект также включает видео и PDF-файлы. Для файлов такого типа будет невозможно кэшировать такой огромный объем данных.
Ответ №1:
Вы можете сделать это с помощью тега привязки, проверьте приведенный ниже код
<a download href="{{url}}">Download</a>
Комментарии:
1. Это позволит снова загрузить файл с сервера, а затем сохранить файл на диск.
2. В моей реализации кода я показываю предварительный просмотр изображения пользователю. Итак, когда пользователь может видеть изображение в браузере, это означает, что файл уже загружен во временную память браузера. Итак, чего я хочу, вместо того, чтобы снова извлекать файл с сервера, я хочу сохранить файл на диск непосредственно из временной памяти браузера.