我正在尝试将图像上传到meteor中的公共文件夹
我正在使用this gist
中的代码这是代码,它给我在客户端文件夹中的问题,但我收到一个未定义的错误
JS
Template.postSubmit.events({
'change input': function(ev) {
_.each(ev.srcElement.files, function(file) {
Meteor.saveFile(file, file.name);
});
}
});
TEMPLATE
<template name="postSubmit">
<form>
<input type="file" />
<div>
<div>
<input type="submit" value="Submit" />
</div>
</div>
</template>
ERROR
Uncaught TypeError: Cannot read property 'files' of undefined upload.js?574ce0cd76371392e26467130b3b109e7fc0d6b5:3
Template.postSubmit.events.change input upload.js?574ce0cd76371392e26467130b3b109e7fc0d6b5:3
(anonymous function) base.js:317
_assign.nonreactive deps.js:363
wrappedHandler base.js:308
(anonymous function) domrange.js:875
jQuery.event.dispatch jquery.js:4624
elemData.handle
还有更多的代码,但我甚至无法迈出第一步,所以我想知道这里有什么感谢。
答案 0 :(得分:1)
在客户端saveFile函数中更改此部分:
fileReader.onload = function(file) {
Meteor.call('saveFile', file.srcElement.result, name, path, encoding, callback);
}
到此:
fileReader.onload = function(file) {
Meteor.call('saveFile', file.target.result, name, path, encoding, callback);
}
基本上你需要使用file。 target .result而不是file。 srcElement .result
答案 1 :(得分:0)
@Aram是对的,但您还需要在Template事件中更改它。
select nextval('test_sequence');
适用于IE,而srcElement
适用于所有其他浏览器