大家晚安。
我一直在努力使用WYSIWYG编辑器和collectionFS将文件上传工作在Meteor中。我一直在尝试使用Summernote,但我不介意使用Redactor或Froala。
我显然不熟练将WYSIWYG编辑器与CollectionFS连接以将文件上传到本地路径。
这是我的代码。
Template.postSubmit.rendered = function(){
$('#edit').summernote();
};
Template.postSubmit.events({
'submit #postSubmit':function(event, template) {
FS.Utility.eachFile(event, function(file) {
Images.insert(file, function (err, fileObj) {
//Inserted new doc with ID fileObj._id, and kicked off the data upload using HTTP
});
});
}
});
Images = new FS.Collection("images", {
stores: [new FS.Store.FileSystem("images", {path: "img2"})]
});
Images.allow({
insert: function() {
return true;
},
update: function() {
return true;
},
remove: function() {
return true;
},
download: function() {
return true;
}
});
根据我的简短知识,我必须添加
onImageUpload: function(files, editor, welEditable) {
sendFile(files[0],editor,welEditable);
}
在summernote脚本中(是吗?)。
我似乎无法完成这项工作!我们将非常感谢指针,指南和帮助...
EDIT1:
Template.postSubmit.rendered = function(){
$('#edit').summernote({
onImageUpload: function(file) {
FS.Utility.eachFile(event, function(file) {
Images.insert(file, function (err, fileObj) {
//Inserted new doc with ID fileObj._id, and kicked off the data upload using HTTP
});
});
}
});
};
所以我已经编辑了我的代码,现在它正在运行!它将文件上载到指定的路径。现在的问题是, 1.它会立即上传图像(一旦我点击添加图像而不是我提交表格时)。 2.上传的图片不会显示在编辑器中。
答案 0 :(得分:0)
这对我有用:
Template.blogList.rendered = function() {
var template = this;
$('#summernote').summernote({
height: 400,
maxHeight:800,
minHeight:250,
onImageUpload: function(files, editor, $editable) {
Images.insert(files[0], function (err, fileObj) {
console.log("after insert:", fileObj._id);
template.autorun(function (c) {
fileObj = Images.findOne(fileObj._id);
var url = fileObj.url();
if (url) {
$("#summernote").summernote("insertImage", fileObj.url(), "Image Title");
c.stop();
}
});
});
}
});
}