我是科尔多瓦的新手。我做了我的第一个小应用程序并成功地将它部署到 Windows 8 和 Android。现在我开始测试文件系统插件。
我做了一个小测试应用程序,它创建了一个给定大小的文本文件。结果:
- 在 Android 上,应用程序在 10 到 15 MB 的文件大小之间停止响应而没有错误消息
- 在 Windows 8 上,应用程序在创建大于 40 KB 的文件时崩溃且没有错误消息(不是 MB !!!它是 KB)
- 在 Ripple Emulator 上,并不真正支持文件系统插件
(编辑:对于 Windows 8,现在保存 Blob 时 Cordova 代码中存在一个错误。因此,如果将代码更改为仅保存纯字符串,我可以设法将文件保存到 1 GB - 此更改对Android 所以,仍然有 10 MB 的限制 :EditEnd)
我基本上只是从 HTML5 Rocks 文档中复制了代码并构建了一个更大的刺来存储......
那么限制是什么,或者我在这里做错了什么?任何帮助都会很棒!
问候,马库斯
这是我的代码:
function writeFile() {
window.requestFileSystem(window.PERSISTENT, 5 * 1024 * 1024 /*5MB*/, onInitFsWrite, errorHandler);
}
function onInitFsWrite(fs) {
console.log('Opened file system: ' + fs.name);
fs.root.getFile(_fileName, {}, function (fileEntry) {
// Create a FileWriter object for our FileEntry (log.txt).
fileEntry.createWriter(function (fileWriter) {
fileWriter.onwriteend = function (e) {
msgOut('Write completed.');
};
fileWriter.onerror = function (e) {
msgOut('Write failed: ' + e.toString());
};
//create some data
var text = "1234567890".repeat(parseInt($("#length").val()));
// Create a new Blob and write it to log.txt.
var blob = new Blob([text], { type: 'text/plain' });
fileWriter.write(blob);
}, errorHandler);
}, errorHandler);
}
String.prototype.repeat = function (num) {
return new Array(num + 1).join(this);
}