i have following node
route:
router.route('/resource/:encodedstring/:mediatype') .all(function (req, res) { var decoded = jwt.decode(req.params.encodedstring, require('../secret')()); var mediaobject = decoded.mediaobject; res.header('content-disposition', 'filename="' + mediaobject.filename + req.params.mediatype + '"'); var stream = fs.createreadstream(mediaobject.targetdir + mediaobject.filename + req.params.mediatype); res.pipe(stream); })
which called client.
however not give me result want because once called response pending.
accept-encoding:identity;q=1, *;q=0 range:bytes=0- referer:http://localhost/myproject/ user-agent:mozilla/5.0 (x11; linux x86_64) applewebkit/537.36 (khtml, gecko) chrome/41.0.2272.76 safari/537.36
resulting in content not displaying.
so question doing wrong?
you're not ending response, that's why it's pending. suggestion call res.end()
on end
event of readable stream, like:
var stream = fs.createreadstream(mediaobject.targetdir + mediaobject.filename + req.params.mediatype); res.pipe(stream); stream.on('end', function () { console.log("reading operation completed."); res.end(); });;
Comments
Post a Comment