如何在img标签中查看图像

时间:2017-04-25 16:33:52

标签: node.js mongodb gridfs

我遇到问题,我无法将此代码保存到img标记中的图像。图片只显示我第一次进入网站,下次进入网站时它就消失了。猜猜它的管道,但是有办法保持它吗?已经搜索了几天......

这是我保存并获取它的代码。

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);
    });
});    

0 个答案:

没有答案
相关问题