【发布时间】:2013-06-04 23:50:57
【问题描述】:
可能对你们中的一些人来说很简单。我有一个 API 端点,它返回一个 HTTP 响应,其中 Content-Type 设置为图像类型 - image/jpeg、image/png 等,如果没有我要发送的 ID 的人的图像,则返回 404。
如果是 404,我只想发送文件系统中的无文件 png。我一直在尝试使用请求和管道,但没有找到类似的例子。人们总是从文件中流式传输。
这是否应该单独工作:
app.get('/api/customers/:id/image', function (req, res) {
request.get(util.format(config.apis.getImage, req.params.id)).pipe(res);
//res.sendfile(path.join(__dirname, '/static/img/user.png'));
});
它确实将图像返回给浏览器,但会引发异常:
stream.js:94
throw er; // Unhandled stream error in pipe.
Error: Parse Error
at Socket.socketOnData(http.js:1556:20)
...
无论哪种方式,我都想检查请求调用的响应,以防出现 404 情况。
我想我对流媒体太陌生了。
有什么帮助吗?
谢谢!
【问题讨论】:
-
不应该是
req.get而不是request.get -
请求来自我使用请求库,它需要在页面的较高位置。 Request 为您提供了良好的管道电缆能力。
-
你解决了吗?我也有同样的问题。