Я добавил пакеты cfs: standard-packages и cfs: filesystem к моему проекту meteor. Я хочу загрузить избранные изображения для своего блога, используя форму с этим вводом.Загрузка файла Meteor не работает
<div class="form-group">
<label for="featuredImage">Featured Image</label>
<input type="file" id="fImage" required>
<p class="help-block">Please choose an image file.</p>
</div>
И событие Javascript
Template.AddPost.events({
'change #fImage': function(event, template) {
var image = template.find('[id=fImage]').value;
var lastIndex = image.lastIndexOf("\\");
if (lastIndex >= 0) {
image = image.substring(lastIndex + 1);
}
if (!image.match(/\.(jpg|jpeg|png|gif)$/)) {
alert("not an image");
} else {
FS.Utility.eachFile(event, function(file) {
var fileObj = new FS.File(file);
Meteor.call('uploadFeaturedImage', fileObj);
});
}
}
});
'uploadFeaturedImage' метод на сервере
Meteor.methods({
'uploadFeaturedImage': function(fileObj){
Uploads.insert(fileObj, function(err){
console.log(err);
});
}
});
Когда я выбрать файл изображения для загрузки я получаю эту ошибку - «Exception при вызове метода 'uploadFeaturedImage' Ошибка: конструктор DataMan получил данные, которые он не поддерживает "
У кого-нибудь есть идеи, почему это происходит? Спасибо.
Большое вам спасибо! это сработало отлично. Имейте большой день sir :) –
Как вы определяете, когда загрузка будет готова при вызове Images.insert на клиенте. он обратный вызов срабатывает сразу, даже если файлObj.url() не определен? – daslicht