HTML5 FileReader API 对于从用户桌面加载文件客户端非常方便。这是异步 javascript 模式,可在 stackoverflow 的其他地方找到以使用此 API:
var fileHandler = function(e){
var reader = new FileReader();
reader.onload = (function(theFile){
var fileName = theFile.name;
return function(e){
console.log(fileName); // I want a callback here
};
})(currentFile);
reader.readAsText(currentFile);
}
我想在我的应用程序的许多不同地方使用文件上传按钮,并在每个地方以不同的方式处理文件。将不同的处理回调传递给 fileHandler 函数的最有效方法是什么,这样我就不必复制其余的函数代码(创建 FileReader、定义 onload 函数、readAsText)?