2013-06-08 1 views
5

Легкий вопрос для некоторых из вас, вероятно. У меня есть конечная точка API, которая возвращает ответ http с типом Content-Type, установленным на тип изображения - image/jpeg, image/png и т. Д. И 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.

Я думаю, что я слишком новичок в потоках, а что нет.

Любая помощь?

Спасибо!

+0

Не должно быть 'req.get' вместо' request.get' – user568109

+0

запрос исходит от меня, используя библиотеку запроса, и это требуется выше на странице. Запрос дает вам приятную гибкость трубопровода. – tateman

+0

Вы решили это? У меня такая же проблема. – metalaureate

ответ

0

Как сделать запрос request.head? (Маленькие накладные расходы).

Если 404 не отправить ни одного файла PNG еще делать request.GET ...

Смежные вопросы