首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Phonegap -通过path从Camera Roll检索照片

Phonegap -通过path从Camera Roll检索照片
EN

Stack Overflow用户
提问于 2012-02-08 01:18:24
回答 4查看 16.4K关注 0票数 20

在我的PhoneGap/jQuery Mobile应用程序中,我目前正在使用PhoneGaps的Camera API来允许用户拍照,这也存储在Camera Roll中。我将DestinationType设置为FILE_URI,并将此路径保存在本地数据库中。但是,FILE_URI是一个在应用程序关闭时被销毁的临时位置的路径。我正在考虑保存图像的名称,然后从Camera Roll中检索图像。是否有路径可用于稍后检索Camera Roll中的图像?

我在db中将图像保存为Base64,但由于PhoneGap API Doc中的注释,我对这种方法感到有点厌倦。

备注:在较新的设备上使用相机拍摄的照片的图像质量相当好。使用Base64对此类图像进行编码已导致其中一些设备(iPhone 4、BlackBerry Torch9800)上出现内存问题。因此,强烈建议使用FILE_URI作为'Camera.destinationType‘。

编辑:

我得到了@Simon MacDonald的答案。下面是我的精简代码:

代码语言:javascript
复制
function capturePhoto() {
    navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 25, destinationType: Camera.DestinationType.FILE_URI });
}

function onPhotoURISuccess(imageURI) {
    createFileEntry(imageURI);
}

function createFileEntry(imageURI) {
    window.resolveLocalFileSystemURI(imageURI, copyPhoto, fail);    
}

function copyPhoto(fileEntry) {
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSys) { 
        fileSys.root.getDirectory("photos", {create: true, exclusive: false}, function(dir) { 
                fileEntry.copyTo(dir, "file.jpg", onCopySuccess, fail); 
            }, fail); 
    }, fail); 
}

function onCopySuccess(entry) {
    console.log(entry.fullPath)
}

function fail(error) {
    console.log(error.code);
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9180731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档