我正在寻找使用Phonegap在Android设备文件系统中读取多个文件,因此,在一个多部分POST请求中,我可以将其提交给服务器。
我的问题是我不想存储读取的第一个文件,因此当最后一个文件完成加载时,我可以在一次服务器调用中提交所有文件。
以下摘自Phonegap文档,是一个只读取一个文件的例子。
// Wait for Cordova to load
//
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// Cordova is ready
//
function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}
function gotFS(fileSystem) {
fileSystem.root.getFile("readme.txt", null, gotFileEntry, fail);
}
function gotFileEntry(fileEntry) {
fileEntry.file(gotFile, fail);
}
function gotFile(file){
readDataUrl(file);
}
function readDataUrl(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("Read as data URL");
console.log(evt.target.result);
};
reader.readAsDataURL(file);
}
function fail(evt) {
console.log(evt.target.error.code);
}
是否存在同步 gotFile 回调的某种方式,以便在我想发布POST时将所有文件都放在内存中?
如果没有,是否可以将二进制文件存储在浏览器内存中,并注意它们占用的内存量?或者显示我使用LocalStorage?
谢谢!