我正在尝试在流星中即时上传和读取文件。但是我没有找到任何包/教程来做到这一点,所以我尝试使用 FS 库,但我遇到了一些麻烦。
我的模板中有一个,还有一个像这样的事件:
"change .myFileUpload": function(e, tmpl) {
e.preventDefault();
var fileInput = tmpl.find('input[type=file]');
console.log('test');
// grab a list of the files selected with the file chooser
// input
debugger;
console.log(fileInput);
var theFile = new FS.File(fileInput);
console.log(theFile);
var rose = JSON.parse(Assets.getText(fileInput));
Meteor.call('readTxtFile',fileInput);
Meteor.call('readTxtFile',theFile);
}
readTxtFile 方法如下所示:
readTxtFile : function(file){
console.log(file);
fs.readFile(file, function(err,data){
if(err){
throw new Error("Fail read");
}else{
console.log(data);
}
});
但是,当我上传文件时,页面会重新加载通过参数传递的文件,网址如下所示:http://localhost:3000/port?myFileUpload=textfile.txt
当代码执行http://localhost:3000/port?myFileUpload=textfile.txt 行时页面被重新加载
即使我设置了 FS.debug = true; 我看不到任何错误,无论是通过客户端还是服务器日志;除了第一个日志
console.log(fileInput);
> <input type="file" class="myFileUpload"> portTmpl.js:12
有什么想法吗 ?