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