Я делаю приложение в ионной телефонной зоне, где я хотел бы предложить потоковую передачу и скачивание видео и аудио файлов для автономного использования.
В Desktop и Android это легко. Все, что мне нужно сделать, — это напрямую связать файл с файлом и изменить директивы заголовка в php для принудительной загрузки.
В iPhone / iO, щелкнув по той же ссылке, вы сразу же пытаетесь открыть файл в плеере и не загружаете файл. Кроме того, он не воспроизводит файл. Он просто загружает пустой видеоплеер.
Я попытался найти это в 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
Других решений пока нет …