我有一条发送pdf文件的路线:
app.get('/teste',function(req,res,next){ res.setHeader('content-type','application/pdf'); res.download(app.get('appPath')+'/teste.pdf'); }
我尝试使用另一种解决方案,它们执行或多或少的相同功能:
app.get('/teste',function(req,res,next){ res.setHeader('content-type','application/pdf'); fs.createReadStream(app.get('appPath')+'/teste.pdf').pipe(res); }
和
app.get('/teste',function(req,res,next){ res.setHeader('content-type','application/pdf'); res.sendfile(app.get('appPath')+'/teste.pdf'); }
我的问题是,当我在浏览器中询问此路由时,收到的空pdf文件的页面数与原始文件的页面数相同。
我使用配置了Express Server app.use(express.bodyParser());。
app.use(express.bodyParser());
有人可以帮助我吗?
在使用connect-livereload中间件时,我已经看到了这一点。问题在于connect- livereload正在将js代码片段注入pdf数据流。它还可能导致其他非HTML数据出现问题。好消息是,这只会在开发过程中引起问题(您不应在生产中加载此中间件。)
该问题最近已修复,但是许多模板都包含较旧的版本,因此请检查package.json文件并在必要时获取最新版本。最新的connect- livereload版本是0.5.3。