我有一个事件(使用<input type="file">
上传图像文件):
"change .logoBusinessBig-upload":function(event, template){
var reader = new FileReader()
reader.addEventListener("load", function(evt){
var x = reader.result
console.log(x)
Meteor.call("saveFile", x)
})
reader.readAsArrayBuffer(event.currentTarget.files[0])
}
并且这个Meteor.method()
saveFile:function(file){
console.log(file)
var fs = Npm.require("fs")
fs.writeFile('../../../../../public/jow.txt', file, function (err) {
console.log("file saved")
});
}
在事件处理程序中,console.log(x)输出一个ArrayBuffer对象,而在Meteor.method()中的console.log(file)显示一个空的{}对象。
为什么会这样呢?ArrayBuffer应该已经被传递给了Meteor.method()。