对你们中的一些人来说可能很容易。我有一个API端点,它返回一个http响应,其Content-Type设置为图像类型 - image / jpeg,image / png等,如果没有我正在发送的ID的人的图像,则返回404。
如果是404,我想发送位于文件系统中的no file 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情况。
我想我对于溪流来说太新了,什么不是。
任何帮助?
谢谢!
答案 0 :(得分:0)
先做一个request.head怎么样? (小开销)。
如果404发送没有文件png,则执行request.get ...