1

我正在 ionic phonegap 中制作一个应用程序,我想在其中提供流式传输和下载视频和音频文件以供离线使用。

在桌面和 Android 中,这很容易。我所要做的就是直接链接到该文件并修改 php 中的标头指令以强制下载。

在 iPhone/iOs 中,单击同一链接会尝试立即在播放器中打开文件,但不会下载文件。此外,它实际上并不播放文件。它只是加载一个空的视频播放器。

我试过用谷歌搜索它并在 SO 上查找它,但我只能找到下载和存储文件在应用程序中的指南。

如:iOS - 下载视频

但这不是我需要的。我不想重新发明轮子并将我的应用程序变成文件管理器。我需要手机将其本地存储在相机胶卷中,或提示用户将文件加载到他们通常用于离线视频的任何应用程序中。

我确实找到了一个用户级指南,表明这是可能的,但它并没有说明我们如何作为开发人员使这成为可能:

http://osxdaily.com/2013/05/28/save-videos-from-mail-ios/

如何标记视频链接,以便 iOS 知道在本地下载?

4

1 回答 1

1

请检查 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”。我相信没有直接的方法可以将图像从您的网址保存到您的相机胶卷。但是,有一种间接的方法。您可以将图像加载到应用程序的 HTML5 画布上。之后,只需将其 base64 格式的 data_url 保存到您的相机胶卷。

查看此答案以获取更多信息:Save to camera roll from path/URL in PhoneGap

于 2015-01-09T19:08:06.287 回答