使用 cordova 文件传输将图像/视频保存到 IOS 中的画廊

Posted

技术标签:

【中文标题】使用 cordova 文件传输将图像/视频保存到 IOS 中的画廊【英文标题】:save image/video to gallery in IOS using cordova flle transfer 【发布时间】:2015-10-23 08:48:33 【问题描述】:

我正在从我在 Cordova ios 中创建的应用程序下载图像/视频。我也想从其他应用程序访问下载的文件,例如 WhatsApp、Instagram、Telegram 等。

我可以下载文件,但无法在图库或视频中查看它们,无法访问 iOS 中的文件系统根路径。

我们在 Cordova for iOS 中是否有任何插件可以将文件从文档目录移动到相机胶卷?如果没有,您能否指导我如何按照本机 C 流程来实现它,因为我是 C 新手。

这是我在 iOS 中运行的示例代码。

var url = encodeURI("http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"); // image url
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fs) 
    //cordova.file.documentsDirectory
    //cordova.file.dataDirectory
    //fs.root.fullPath
    //rootdir.toURL();
    //fileSystem.root
    alert("the root is" + cordova.file.documentsDirectory)
    var imagePath = cordova.file.documentsDirectory + "/big_buck_bunny.mp4";
    alert(imagePath);
    var fileTransfer = new FileTransfer();
    fileTransfer.download(url, imagePath, function(entry, imagePath) 
        alert(imagePath);
        console.log(imagePath);
        alert(entry.fullPath); // entry is fileEntry object
        // download();
        downloadFile();
    , function(error) 
        alert("Some error");
    );
)

【问题讨论】:

【参考方案1】:

cordova-plugin-filetransfer 无法实现。您可能需要检查 https://github.com/driftyco/cordova-camera-roll 以将 base 64 编码图像保存到相机胶卷。有一个用于处理视频的分支,但以 base 64 编码大视频可能效率不高。

【讨论】:

以上是关于使用 cordova 文件传输将图像/视频保存到 IOS 中的画廊的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap(cordova)将图像保存到自定义相册

无法使用 Cordova 文件传输插件上传到 SAP Content Server

如何使用 Cordova 应用程序将 base64 图像保存到设备中?

Cordova - 将图像从 url 保存到设备照片库中

使用 Cordova/Phonegap 保存从手机摄像头拍摄的图像 Windows Phone 7

在 Flutter 中将视频文件保存到设备