当前位置 : 主页 > 手机开发 > cordova >

cordova – 如何检索保存在android系统的photolibrary中的图像?

来源:互联网 收集:自由互联 发布时间:2021-06-10
我正在尝试访问 Android系统的photolibrary来检索图像.我有navigator.camera.getPicture函数提供的imageURI变量.那是好的,直到那时.但后来,我想访问photolibrary并获取此图像的base64代码. 由于navigator.
我正在尝试访问 Android系统的photolibrary来检索图像.我有navigator.camera.getPicture函数提供的imageURI变量.那是好的,直到那时.但后来,我想访问photolibrary并获取此图像的base64代码.

由于navigator.camera.getPicture不可能返回两个数据(imageURI和imageData),我需要稍后获取base64信息.这是我试图使用的代码,查看phoneGap的“文件”文档,但它不起作用.

它停在“fileSystem.root.getFile”调用 – (错误回调中的错误:File4 = TypeError:表达式’evt.target'[undefined]的结果不是对象.在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);}}
好的,第一个问题是失败函数返回的对象没有您尝试访问的属性.要查看错误对象中的内容,请尝试以下操作:

function fail(evt) {
                 alert("there was an error: " + JSON.stringify(evt));
            }

让我们知道它产生了什么……

网友评论