使用http://plugins.cordova.io/#/package/org.apache.cordova.file和插件安裝= org.apache.cordova.file 1.3.3「文件」科爾多瓦文件的插件,沒有任何回調都燒成
我拍攝一張照片,我試圖將其轉換爲base64。圖片位置返回(以下VAR路徑)是 「資產庫://asset/asset.JPG ID = ECB406E6-E361-46AA-9282-FEEBDAC170DF & EXT = JPG」
首先,從它看起來的文件像我所需要的是:
// Convert to image URL base64
var fileReader = new FileReader();
fileReader.onloadend = function (data) {
console.log(data.target.result);
};
fileReader.readAsDataURL(path);
代碼執行但回調從未解僱!然後,我挖掘並添加了一堆其他fileReader選項......其中的實際零執行。在iOS和Android上同樣的行爲
fileReader.onload = function (data) {
console.log("onload", data);
};
fileReader.onerror = function (data) {
console.log("error!", data);
};
fileReader.onloadstart = function (data) {
console.log("onloadstart", data);
};
我沒有收到任何JS錯誤,但我也沒有得到任何控制檯輸出。
1)爲什麼Cordova File FileReader()回調不會觸發?
更新
我試着用ngCordova的文件插件以及,http://ngcordova.com/docs/plugins/file/
$cordovaFile.readAsDataURL('assets-library://asset/', 'asset.JPG?id=ECB406E6-E361-46AA-9282-FEEBDAC170DF&ext=JPG')
.then(function (success) {
// success
console.log("ng success", success);
}, function (error) {
// error
console.log("ng error", error);
});
有了,我收到以下錯誤:
Error in Success callbackId: File1336724899 : TypeError: undefined is not a function (evaluating 'e.getFile')
我猜你需要使用一個普通的URL,而不是資產庫的URL。要確認我可能會嘗試使用網站上的圖像,看看它是否會加載... –
感謝@Mike,1)爲什麼我不會得到一個錯誤呢? 2)如果我管道img的ng-src的路徑或它的工作完全正常3)我確實需要訪問該圖像發送雖然,有什麼建議如何? –
我不知道缺少錯誤 - 也許它解決了URL的問題。無論如何,如果您使用的是科爾多瓦照片插件,您可以使用FILE_URI選項來獲取「正常」文件網址。 –