2013-06-08 28 views
5

Câu hỏi dễ dàng đối với một số người trong số các bạn có thể. Tôi có một điểm cuối API trả về phản hồi http với Content-Type được đặt thành loại hình ảnh - hình ảnh/jpeg, hình ảnh/png, v.v. và 404 nếu không có hình ảnh cho người có ID tôi đang gửi.Yêu cầu nút (đọc luồng hình ảnh - quay lại trả lời)

Nếu 404, tôi chỉ muốn gửi tệp png không có trong hệ thống tệp. Tôi đã cố gắng sử dụng yêu cầu và đường ống và tôi không tìm thấy ví dụ như vậy. Mọi người luôn phát trực tiếp từ một tệp.

nên làm việc này bằng cách riêng của mình:

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')); 
}); 

Nó trả lại hình ảnh lại cho trình duyệt nhưng ném một ngoại lệ:

stream.js:94 
throw er; // Unhandled stream error in pipe. 
Error: Parse Error 
at Socket.socketOnData(http.js:1556:20) 
... 

Dù bằng cách nào, tôi muốn kiểm tra phản ứng của cuộc gọi yêu cầu trong trường hợp đó là trường hợp 404.

Tôi đoán tôi quá mới mẻ đối với luồng và những gì không.

Bất kỳ trợ giúp nào?

Cảm ơn!

+0

nên không nó được 'req.get' thay vì 'request.get' – user568109

+0

Yêu cầu đến từ tôi sử dụng thư viện Yêu cầu và nó yêu cầu cao hơn trên trang. Yêu cầu cung cấp cho bạn khả năng kết nối đường ống tốt đẹp. – tateman

+0

Bạn đã giải quyết vấn đề này chưa? Tôi có cùng một vấn đề. – metalaureate

Trả lời

0

Làm thế nào về thực hiện một request.head đầu tiên? (Chi phí nhỏ).

Nếu 404 gửi không có tập tin png khác làm request.get ...

Các vấn đề liên quan