我正在尝试访问android系统的photolibrary以检索图像。我有navigator.camera.getPicture函数提供的imageURI变量。在那之前没关系。但后来,我想访问photolibrary并获取此图像的base64代码。如何检索保存在android系统的photolibrary中的图像?
由于navigator.camera.getPicture不可能返回数据(imageURI和imageData),我需要稍后获取base64信息。以下是我尝试使用的代码,查看phoneGap的“文件”文档,但它不起作用。在文件:/// android_asset /文件中的错误回调中的错误:File4 = TypeError:表达式的结果'evt.target'[undefined]不是一个对象。at file:/// android_asset/www/phonegap-1.3.0.js:717)
谁能帮帮我?谢谢。
function base64(imageURI) {
alert(imageURI);
document.addEventListener("deviceready", onDeviceReady);
function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);}
function gotFS(fileSystem) {
alert("filesystem");
//Next line causes error. Perhaps imageURI is not a valid path?
fileSystem.root.getFile(**imageURI**, null, gotFileEntry, fail);}
function gotFileEntry(fileEntry) {
alert("gotfileentry");
fileEntry.file(gotFile, fail);}
function gotFile(file){
alert("got file");
readDataUrl(file);}
function readDataUrl(file) {
alert("readDataURL");
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("Read as data URL");
alert(evt.target.result);
};
reader.readAsDataURL(file);
}
function fail(evt) {
console.log(evt.target.error.code);}}
他的代码直接来自PhoneGap的API。但是JSON.stringify只返回{“code”:X}。所以你应该记录evt.code。 – 2012-02-22 22:18:45
记录它,提醒它,无论 - 没关系 - 让我们只是得到错误... – tpow 2012-02-22 22:42:07
?? ??我的观点是他不应该记录/警告evt.target.error.code,但只是evt.code .. – 2012-02-22 22:47:28