目前,我使用angular-file-
upload处理图像上传,我只是将图像保存到服务器的文件系统中,并在HTML中引用它。但是,我想尝试将图像直接存储在为博客文章定义的架构内的数据库中。
var blogSchema = new Schema({
title: String,
author: String,
body: String,
likes: { type: Number, default: 0 },
comments: [{ type: Schema.Types.ObjectId, ref: 'Comment' }],
date: { type: Date, default: Date.now },
imageURL: String // instead of this
image: // store it directly
});
"imageURL: String" stores the path to the image.
我要这样做,这样我就可以拥有一个存储图像本身的字段。我当时想我可以像以前一样上传图像,但是在上传图像之后将其转换并以二进制(或其他形式)存储在Mongo中。这可能吗?
谢谢!
下面的示例显示了如何使用猫鼬将图像上传到MongoDB。单击此链接获取原始来源
var express = require('express');
var fs = require('fs');
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var imgPath = '/path/yourimage.png';
mongoose.connect('localhost', 'testing_storeImg');
var schema = new Schema({
img: { data: Buffer, contentType: String }
});
var A = mongoose.model('A', schema);
mongoose.connection.on('open', function () {
console.error('mongo is open');
A.remove(function (err) {
if (err) throw err;
console.error('removed old docs');
// store an img in binary in mongo
var a = new A;
a.img.data = fs.readFileSync(imgPath);
a.img.contentType = 'image/png';
a.save(function (err, a) {
if (err) throw err;
console.error('saved img to mongo');
// start a demo server
var server = express.createServer();
server.get('/', function (req, res, next) {
A.findById(a, function (err, doc) {
if (err) return next(err);
res.contentType(doc.img.contentType);
res.send(doc.img.data);
});
});
server.on('close', function () {
console.error('dropping db');
mongoose.connection.db.dropDatabase(function () {
console.error('closing db connection');
mongoose.connection.close();
});
});
server.listen(3333, function (err) {
var address = server.address();
console.error('server listening on http://%s:%d', address.address, address.port);
console.error('press CTRL+C to exit');
});
process.on('SIGINT', function () {
server.close();
});
});
});
});
问题内容: 到目前为止,我已经接受了HTML格式的文件,并通过使用模块以angular的形式发布了文件。现在,我想在Mongoose中接受此文件,并将其存储到MongoLab上托管的NoSQL MongoDB中。我已经阅读了有关此模块的信息,并遵循了基本文档,但到目前为止,只有我自己。在解释问题的开始之前,让我发布我的代码: 我的HTML表单: 我的角度代码: 控制台日志返回正确的文件对象。 迄今
问题内容: 我正在寻找一些有关如何使用node.js和mongodb安全存储密码和其他敏感数据的示例。 我希望所有内容都使用一种独特的盐,该盐将与哈希一起存储在mongo文档中。 为了进行身份验证,我是否仅需要盐析和加密输入并将其与存储的哈希值匹配? 我是否应该解密该数据,如果应该解密? 私钥或什至加盐方法如何安全地存储在服务器上? 我听说AES和Blowfish都是不错的选择,我应该使用什么?
本文向大家介绍Node.js 使用Mongoose和Express.js路由将数据保存到MongoDB,包括了Node.js 使用Mongoose和Express.js路由将数据保存到MongoDB的使用技巧和注意事项,需要的朋友参考一下 示例 设定 首先,使用以下命令安装必要的软件包: 代码 然后,将依赖项添加到server.js文件中,创建数据库模式和集合名称,创建Express.js服务器,
我只是想安装node.js/express/ejs.我知道ejs不是真正的超文本标记语言,所以我很难只显示一个简单的图像。有人能给我指出正确的方向吗? 目录结构为: 我的应用程序/服务器。js myApp/视图/索引。ejs myApp/徽标。jpg 现在我有 我走错方向了吗?谢谢
问题内容: 我试图弄清楚如何可以将图像直接发布到GridFS而不先将其作为临时文件存储在服务器上的任何位置。 我正在使用Postman(chrome ext。)发布文件,并且使用以下方法设法将此帖子存储为文件: 当从服务器上的文件创建readStream时,我也能够从readStream直接存储到GridFS。(请参见代码) 我有以下文件,它们侦听POST并基本上将其传递给。 saveFromRe
本文向大家介绍Node.js 使用Mongoose连接到MongoDB,包括了Node.js 使用Mongoose连接到MongoDB的使用技巧和注意事项,需要的朋友参考一下 示例 首先,使用以下命令安装Mongoose: 然后,将其添加server.js为依赖项: 接下来,创建数据库模式和集合名称: 创建一个模型并连接到数据库: 接下来,启动MongoDB并server.js使用运行node s