Meteor.js - 直接从MongoDB提供图像
Meteor.js - Serve image directly from MongoDB?
使用 Meteor.js,我如何提供任意的 HTTP 响应,例如图像或 PDF?
示例 1 - 我需要生成 PDF 报告,我无法将其存储在公共/或第三方服务器上。或者,可以实时生成报告以响应 HTTP GET。
示例 2 - 如果我有一个类似这样的网址:
/images/myimage.png
我想在服务器上检测该请求,从MongoDB读取图像,并使用正确的标头为其提供,因此它可以与img标签一起使用,即。
<img src="/images/myimage.png">
我不想将图像存储在/public/目录中,这样我就可以更好地控制所提供的内容以及如何获得许可。
编辑我还能够获得一个使用铁路由器工作的基本示例。
ImageController = RouteController.extend({
run: function() {
var f = fs.readFileSync("/path/to/image.png");
var res = this.response;
res.writeHead(200, { "content-type": "image/png" });
res.write(f);
res.end();
}
});
Router.map(function() {
Router.route("images", {
path: "/images/image.png",
where: "server",
controller: ImageController // Note - cannot use string here - Iron Router has a dependency on window
});
});
您可以使用中间件像在任何节点应用程序中一样编写响应代码:
WebApp.connectHandlers.stack.splice (0, 0, {
route: '/path/to/the/file',
handle: function(req, res, next) {
res.writeHead(200, {
'Content-Type': ...ITEM TYPE... ,
});
res.write( ...ITEM DATA... );
res.end();
},
});
您可以使用文件选取器。在文件选择器中,上传的图像保存在存储桶(云)中,并返回该图像的URL。您可以将 url 保存在 mongo 数据库中。当您想使用该图像时,只需使用 <img src="{{saveurl}}" >
.有关更多帮助,请参阅文档 https://developers.inkfilepicker.com/docs/web/
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 角度:在ng重复上切换图像
- 画廊图像未显示
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- Javascript排序的图像弹出窗口..可以't单独弹出
- 画布数据到图像
- 使用Meteor将图像写入/读取到MongoDB中
- 将图像内容而非图像路径存储在mongodb中
- 使用html/javascript/mongodb将图像存储在服务器上
- 使用 meteor.js 框架将图像上传到 MongoDb
- 将图像从HTML中的输入和使用javascript存储到mongodb中的集合中
- 将图像从本地目录存储到 Meteor 应用程序中的 MongoDB
- Node Js :D在 mongodb 中播放图像,nodeJS 给出损坏的图像
- 如何在 JavaScript 中使用 http.post 将图像发送到服务器,并在 MongoDB 中存储 base64
- Meteor.js - 直接从MongoDB提供图像
- 从MongoDB(猫鼬)检索/发布图像
- 显示存储在MongoDb中的图像
- 使用 gridFS 在 mongoDB 中存储文件(图像)