У меня есть одна веб-страница, где я показываю живые фотографии (комбинация фото и видео). Я хочу загрузить фото и видео после нажатия на кнопку загрузки.
Мне удалось загрузить его в браузере Chrome и Mozilla для настольных компьютеров, но он не работает на устройствах iPhone.
Пожалуйста, предложите.
Заранее спасибо.
Вот мой код:
<a href = "#" id = "downloadImage" data-photosrc = "sample.jpg" data-videosrc = "sample.mov">Download Image</a>
<script>
$("#downloadImage").click(function () {
var video = 'http://www.example.com/live-photo-web/sample.mov';
var photo = 'http://www.example.com/live-photo-web/sample.jpg';
downloadURI(video, "sample");
downloadURI(photo, "sample");
})
function downloadURI(uri, name) {
var link = document.createElement("a");
link.download = name;
link.href = uri;
link.click();
link.remove();
}
Да, видео и изображение находятся на моем сервере. Сложность заключается в том, что видео и фотографии можно загрузить в веб-браузере, но не в iPhone.
Вы можете легко решить эту проблему, если укажете следующий заголовок для всех тех файлов, которые хотите загрузить. Это должно работать в каждом браузере: Content-Disposition: attachment; filename = "filename.jpg"
Используя сервер apache, вы обычно можете определить файл .htaccess и указать необходимые файлы для загрузки. В противном случае вы полагаетесь на поведение браузера по умолчанию (например, Chrome показывает PDF-файлы в окне браузера, другие предоставляют загружаемый файл).



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


У вас есть доступ к серверу, на котором размещены изображения? Правильный способ - отправить заголовок, указывающий, что это вложение. Вы также можете загрузить его через Ajax, а затем преобразовать в загружаемый файл Blob и предоставить его через JS. Я думаю, что последний способ поддерживается не всеми браузерами и кажется более сложным.