Tuesday, 25 April 2017

How to view image in img tag

I got problem that i cant get this code to save to image in a img tag. the picture will only show the first time i enter the site, the next time i enter the site it is gone. guess its the pipe but is there a way to keep it there? have searched for days now...

this is my code to save it and get it.

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



via moody

No comments:

Post a Comment