0

嗨,我正在尝试创建一个 phonegap 应用程序,您可以在其中将录制的视频保存到文件夹而不是图库中,有什么想法吗?我查看了 File_URI 却不知道怎么做?!我想只在 capture.js 文件中执行此操作(创建新功能并采取预防措施,因此每次拍照时都不会创建相同的文件)但是,它不会将它们同时保存到画廊和我指定的文件夹中吗? ???

4

1 回答 1

1

我用图像这样解决了这个问题:

首先使用 FILE_URI 的目标类型设置拍照选项

var destinationType = navigator.camera.DestinationType;

            navigator.camera.getPicture(this.onPhotoDataSuccess, this.onFailTakingPicture,
                {
                    quality: 80,
                    destinationType: destinationType.FILE_URI,
                    encodingType: Camera.EncodingType.JPEG,
                    targetWidth: 250,
                    targetHeight: 250,
                });

拍摄照片时,使用 imageURI 调用 onPhotoDataSucces。然后请求phonegap的文件系统。

onPhotoDataSuccess : function(imageURI) {

                window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, this.gotFileSystem, this.failFileSystem);

            },

当你得到 fileSystemEntry 然后在 SD 的根目录中创建一个目录

 gotFileSystem: function(fileSystem) {
            fileSystem.root.getDirectory("voetstappen_opdrachten", {create: true, exclusive: false}, this.gotDirEntry, this.failFileSystem)
        },

在回调函数中this.gotDirEntry(),您获得了目录对象(dirEntry),您可以使用它来设置对象的属性,以便以后可以使用它将文件保存到

  gotDirEntry: function (dirEntry) {
                    //set a object's propery with the dirEntry
                    this.dirEntry = dirEntry
                    // use the resolveLocalFileSystemUri to save the captured image to a file
                    window.resolveLocalFileSystemURI(this.imageURI, this.gotFileEntry, this.failFileSystem);
                },

最后你得到了 fileEntry,然后像这样将它移动到目录中:

           gotFileEntry: function(fileEntry) {
  fileEntry.moveTo(this.dirEntry, "objective" + "name" + ".jpg", function(fileEntry){ //callback } 
}
于 2013-06-12T12:00:02.597 回答