JavaScript进程会生成大量数据(200-300MB)。我想保存这些数据以进行进一步的分析,但是到目前为止,我发现最好的方法是使用此示例http://jsfiddle.net/c2U2T/进行保存,这对我来说不是一个选项,因为它看起来需要所有数据才能开始下载。但是我需要的是
var saver = new Saver();
saver.save(); // The Save As ... dialog appears
saver.onaccepted = function () { // user accepted saving
for (var i = 0; i < 1000000; i++) {
saver.write(Math.random());
}
};
当然,代替Math.random()将会是一些有意义的构造。
最佳答案
@dader-我将以dader的示例为基础。
navigator.persistentStorage.queryUsageAndQuota(
function (usage, quota) {
var availableSpace = quota - usage;
var requestingQuota = args.size + usage;
if (availableSpace >= args.size) {
window.requestFileSystem(PERSISTENT, availableSpace, persistentStorageGranted, persistentStorageDenied);
} else {
navigator.persistentStorage.requestQuota(
requestingQuota, function (grantedQuota) {
window.requestFileSystem(PERSISTENT, grantedQuota - usage, persistentStorageGranted, persistentStorageDenied);
}, errorCb
);
}
}, errorCb);
但这是一个新颖而又酷的事情,您可以完全在浏览器中完成操作,而无需任何方式涉及服务器。旁注,由Javascript Process生成的200-300MB数据听起来绝对是巨大的……这将是您是否要存储“正确的”数据的问题……