javascript - 从本地计算机上传图像并将它们保存到与meteorjs中的redactor的文件夹中

标签 javascript jquery meteor meteorite redactor

我正在使用带有meteorjs的redactor插件来格式化文本并添加图像、视频和链接。Redactor支持将图像作为网络链接上传,但在这里我想添加一个按钮来从本地计算机上传图像。为此,我已将按钮添加到编辑器中。它显示浏览图像选择并且正在工作。

   $('.editor').redactor({
    imageUpload:"/upload",

    imageUploadCallback: function(image, json)
    {
        console.log(image);
        console.log(json);

    },
    imageUploadErrorCallback: function(json)
    {
        console.log(json.error);
    }
    });

当我打印console.log("#redactor_file").val());时它给出了文件的名称。但是,当我这样做时console.log(console.log(html);)它给出了<p><img src="undefined"></p> 。我可以在这里获取图片的链接或 url 吗?如果是的话怎么办?

HTTP.methods({
'upload': function(data) {
    console.log(data)
    return JSON.stringify( {'data':"data"})
}
});

当我这样做时console.log(data)使用上面的代码它显示了字符串格式的图像。现在我想使用 GridFS 存储图像。或者有没有更好的方法将图像存储在 MongoDB 中。如果是,那么告诉我或指导我使用 GridFS 存储图像?

最佳答案

虽然 Redactor 提供了上传文件的客户端方法,it does not provide a server-side method用于接收上传的文件。另外,Meteor 本身也不提供这样的方法。

所以你有几个选择。首先是通过使用路由器,例如 Iron Router ,您可以创建服务器端/上传路由,Iron Router 使您可以访问请求、响应对象。这可能有效,但因为这不再通过 DDP,所以您无权访问 Meteor.userId 等。请参阅 How to respond server-side to routes using Meteor and Iron-Router?

一种更像 Meteor 的文件上传方式是 Meteor FileCollectionFS尽管我不确定这些与 Redactor 的集成有多简单。你绝对可以让他们一起工作,就在我的脑海中,我不知道这有多容易。

关于javascript - 从本地计算机上传图像并将它们保存到与meteorjs中的redactor的文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20717036/

相关文章:

javascript - 显式返回转义的 JSON 响应与仅在 Laravel/PHP 中返回数组

jquery - 通过透明覆盖使链接可点击

javascript - 添加验证并不允许使用 jQuery 字数统计表单提交

Meteor 0.6.0 和 Collection API

ios - 适用于 iOS 的 Cordova 移动应用程序未与服务器通信

javascript - 在alert()完成后提交表单

javascript - 使用 HTML 数据列表按内部文本搜索

meteor - 如何在注销的客户端上捕获 Meteor.logoutOtherClients ( session 丢失?)

javascript - 在 Internet Explorer 6 中访问 SELECT 的值

javascript - 使用 jquery slice 仅获取父元素