我正在使用带有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 File或CollectionFS尽管我不确定这些与 Redactor 的集成有多简单。你绝对可以让他们一起工作,就在我的脑海中,我不知道这有多容易。
关于javascript - 从本地计算机上传图像并将它们保存到与meteorjs中的redactor的文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20717036/