Я делаю приложение в ионном телефоне, где я хотел бы предлагать потоковое видео и аудиофайлы для автономного использования.
В Desktop и Android это легко. Все, что мне нужно сделать, это связать напрямую с файлом и изменить директивы заголовка в php, чтобы принудительно загрузить.
В iPhone/iOs нажатие одной и той же ссылки пытается сразу открыть файл в проигрывателе и не загружать файл. Кроме того, он фактически не воспроизводит файл. Он просто загружает пустой видеоплеер.
Я пробовал поиск в Google и смотрел его на SO, но я могу найти руководства для загрузки и сохранения файла в приложении.
Например: iOS - Загрузить видео
Но это не то, что мне нужно. Я не хочу изобретать колесо и превращать свое приложение в файловый менеджер. Мне нужен телефон, чтобы сохранить его изначально в cameraroll или попросить пользователя загрузить файл в любом приложении, которое они обычно используют для автономного видео.
Я нашел руководство на уровне пользователя, которое показывает, что это возможно, но в нем не говорится, как мы можем сделать это возможным как разработчики:
http://osxdaily.com/2013/05/28/save-videos-from-mail-ios/
Как пометить ссылку на видео, чтобы iOS узнала, что ее можно загрузить локально?
Пожалуйста, проверьте плагин File Transfer Cordova, чтобы узнать, работает ли он на вас.
http://plugins.cordova.io/#/package/org.apache.cordova.file-transfer
И вот пример фрагмента кода:
var fileTransfer = new FileTransfer();
var uri = encodeURI("http://some.server.com/example_file.mp4");
fileTransfer.download(
uri,
fileURL,
function(entry) {
console.log("download complete: " + entry.toURL());
},
function(error) {
console.log("download error source " + error.source);
console.log("download error target " + error.target);
console.log("upload error code" + error.code);
},
false, null
);
РЕДАКТИРОВАТЬ:
Извините за отсутствующий "cameraroll" в вашем вопросе. Я считаю, что нет прямого способа сохранить изображения с вашего URL-адреса в Camera Roll. Однако есть косвенный путь для этого. Вы можете загрузить свое изображение на холсте HTML5 в своем приложении. После этого просто сохраните его форматированный base64 data_url в своем рулоне камеры.
Проверьте этот ответ для получения дополнительной информации: сохраните в кадре с пути /URL в PhoneGap