Node.js 如何在img标签中查看图像
我遇到的问题是,我无法将此代码保存到img标记中的图像。这张图片只会显示我第一次进入网站的时候,下一次我进入网站的时候它就消失了。我猜是管道,但有没有办法让它保持在那里?已经找了好几天了 这是我保存和获取它的代码Node.js 如何在img标签中查看图像,node.js,mongodb,gridfs,Node.js,Mongodb,Gridfs,我遇到的问题是,我无法将此代码保存到img标记中的图像。这张图片只会显示我第一次进入网站的时候,下一次我进入网站的时候它就消失了。我猜是管道,但有没有办法让它保持在那里?已经找了好几天了 这是我保存和获取它的代码 router.post('/', function(req, res, next) { var busboy = new Busboy({ headers : req.headers }); var fileId = new mongo.ObjectId();
router.post('/', function(req, res, next) {
var busboy = new Busboy({ headers : req.headers });
var fileId = new mongo.ObjectId();
busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
console.log('got file', filename, mimetype, encoding);
var writeStream = gfs.createWriteStream({
_id: fileId,
filename: filename,
mode: 'w',
content_type: mimetype,
});
file.pipe(writeStream);
}).on('finish', function() {
// show a link to the uploaded file
res.writeHead(200, {'content-type': 'text/html'});
res.end('<a href="/showfile/' + fileId.toString() + '">blogginnlegg1</a>');
});
req.pipe(busboy);
});
//get file?
router.get('/file/:id', function(req, res, next){
gfs.findOne({ _id: req.params.id }, function (err, file) {
if (err) return res.status(400).send(err);
if (!file) return res.status(404).send('');
res.set('Content-Type', file.contentType);
res.set('Content-Disposition', 'attachment; filename="' + file.filename + '"');
var readstream = gfs.createReadStream({
_id: file._id
});
readstream.on("error", function(err) {
console.log("Got error while processing stream " + err.message);
res.end();
});
readstream.pipe(res);
});
});
router.post('/',函数(req,res,next){
var-busboy=new-busboy({headers:req.headers});
var fileId=new mongo.ObjectId();
on('file',函数(字段名、文件、文件名、编码、mimetype){
log('got file',文件名,mimetype,编码);
var writeStream=gfs.createWriteStream({
_id:fileId,
filename:filename,
模式:“w”,
内容类型:mimetype,
});
file.pipe(writeStream);
}).on('finish',function(){
//显示上传文件的链接
res.writeHead(200,{'content-type':'text/html'});
res.end(“”);
});
所需管道(公共汽车司机);
});
//获取文件?
router.get('/file/:id',函数(req,res,next){
findOne({u id:req.params.id},函数(err,file){
if(err)返回res.status(400)。send(err);
如果(!file)返回res.status(404).send(“”);
res.set('Content-Type',file.contentType);
res.set('Content-Disposition','attachment;filename=“”+file.filename+”);
var readstream=gfs.createReadStream({
_id:文件。\u id
});
readstream.on(“错误”,函数(err){
log(“处理流时出错”+错误消息);
res.end();
});
readstream.pipe(res);
});
});
客户端是否存在任何错误?(打开浏览器开发工具,[在Chrome上按F12键],然后给我们控制台选项卡的输出)不,我可以很好地查看图像,只是我希望图像“卡”在那里。因此,当我刷新页面时,图像仍然存在。