1

各位晚上好。

我一直在努力使用 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脚本中(是吗?)。

我似乎无法完成这项工作!指针,指南和帮助将不胜感激......

编辑1:

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.上传的图片不会在编辑器中显示。

4

1 回答 1

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();
                  }
                });
            });

        }   
    });
}
于 2015-07-21T10:00:29.953 回答