我正在创建一个离线javascript应用程序,该应用程序使用sql.js加载sqlite数据库,添加一些过滤器并查询数据并显示各种基于d3的图表。但是,我的用户不想被数据库内容和数据库文件所困扰。我想在页面加载时加载文件。
<input id="inpLoadDB" type="file" onchange="loadDB()">
当我查询该元素时,它返回一个FileList对象,我可以从中获取所选文件。如何在不包含HTML元素的情况下构建FileList(或仅文件对象)。类似的东西:
var fl=new FileList();
fl.readDir("./data/");
答案 0 :(得分:4)
限制从浏览器访问文件。如果您从浏览器执行它,则需要用户交互,例如上传文件按钮。甚至HTML5的文件访问API也要求用户做一些事情来获取文件https://www.html5rocks.com/it/features/file_access
使用2016 https://stackoverflow.com/a/372333/4635829
的更新,在StackOverflow上查看此其他答案如果您编写Node.js应用程序并使用文件I / O模块,则可以使用Javascript访问文件系统编程
var fs = require("fs");
// Asynchronous read
fs.readFile('input.txt', function (err, data) {
if (err) {
return console.error(err);
}
console.log("Asynchronous read: " + data.toString());
});
// Synchronous read
var data = fs.readFileSync('input.txt');
console.log("Synchronous read: " + data.toString());
console.log("Program Ended");