当前位置: 首页 > 面试题库 >

Express服务器发送空的PDF文件

轩辕实
2023-03-14
问题内容

我有一条发送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());

有人可以帮助我吗?


问题答案:

在使用connect-livereload中间件时,我已经看到了这一点。问题在于connect-
livereload正在将js代码片段注入pdf数据流。它还可能导致其他非HTML数据出现问题。好消息是,这只会在开发过程中引起问题(您不应在生产中加载此中间件。)

该问题最近已修复,但是许多模板都包含较旧的版本,因此请检查package.json文件并在必要时获取最新版本。最新的connect-
livereload版本是0.5.3。



 类似资料:
  • 问题内容: 由于我是Web服务的新手,请您告诉我问题的答案。我的问题是 我想实现一个Web服务,当客户端调用此Web服务时,该服务会向客户端发送pdf文件。 请有人帮我提供一段不错的代码或解释。 现在可以请一个人解决我的错误。 12-23 09:42:48.429:调试/安装(32):DexInv:-开始’/data/app/vmdl33143.tmp’— 12-23 09:42:51.708:调

  • 概述 客户端代码 概述 建立连接 open事件 message事件 error事件 自定义事件 close方法 数据格式 概述 data:数据栏 id:数据标识符 event栏:自定义信息类型 retry:最大间隔时间 服务器代码 参考链接 概述 传统的网页都是浏览器向服务器“查询”数据,但是很多场合,最有效的方式是服务器向浏览器“发送”数据。比如,每当收到新的电子邮件,服务器就向浏览器发送一个“

  • 概述 客户端代码 概述 建立连接 open事件 message事件 error事件 自定义事件 close方法 数据格式 概述 data:数据栏 id:数据标识符 event栏:自定义信息类型 retry:最大间隔时间 服务器代码 参考链接 概述 传统的网页都是浏览器向服务器“查询”数据,但是很多场合,最有效的方式是服务器向浏览器“发送”数据。比如,每当收到新的电子邮件,服务器就向浏览器发送一个“

  • 如果我正确理解了服务器发送事件的原则,那么每次客户端注册到EventSource时,它实际上会打开一个到管理事件的资源的新HTTP连接。与其他HTTP请求相反,连接保持活动状态,因此专用于此客户端的服务器进程/线程将一直运行,直到客户端断开连接。 如果我们有1000个客户端使用SSE连接到一个应用程序,该怎么办?我们是否会有1000个进程/线程(做同样的事情)并发运行以处理SSE?我想我错了,但如

  • 我最近一直在用Java编写自己的Webserver,因为我觉得有一个很不错,昨天我偶然发现了一个问题,我仍然没有解决。我的浏览器(取消搜索Chromium)似乎向服务器发送了一些空请求或类似的东西。我实现了一个请求处理程序,它应该读取GET请求并提取请求的资源。它的工作原理是这样的:它以请求为例:“GET/index.htmlHTTP/1.1”并将其放入带有String.split (" ");

  • 我建立了两台服务器:第一台用于前端(localhost:7200),第二台用于后端(localhost:7300)。相应地,在路由“/test”上,前端到后端发出了一个测试请求。 问题在于,当我发送一个json对象(单击“btn”按钮时)时,它会拒绝,并显示以下消息: CORS策略阻止从http://localhost:7300/testhttp://localhost:7200访问XMLHttp