2015-07-08 1 views
1

Я создал небольшой веб-сервер в node.js, используя фреймворк express 4. Когда пользователь отправляет файл изображения с главной веб-страницы, он загружается на сервер через промежуточное ПО multer, обрабатывается скриптом python, а затем результирующее изображение сохраняется на сервере.Каков самый простой способ отображения изображения после его создания на веб-сервере node.js (с помощью экспресс)?

Каков самый простой способ доставить готовое, обработанное изображение обратно клиенту после его завершения и сохранения на сервере?

ответ

2

Метод 1: Streaming от nodejs

Если вы имеете в виду потоковом полученный файл к клиенту, вы могли бы сделать что-то вроде этого

var fileStream = fs.createReadStream(filename); 
    fileStream.on('error', function (error) { 
     response.writeHead(404, { "Content-Type": mimetype}); 
     response.end("file not found"); 
    }); 
    fileStream.on('end', function() { 
     console.log('sent file ' + filename); 
     response.end(""); 
    }); 
    fileStream.pipe(response); 

как MimeType, используйте один из здесь http://www.sitepoint.com/web-foundations/mime-types-complete-list/

Способ 2: Использование в публичных файлах

Но с использованием экспресс-памяти я считаю, что лучший способ заключается в том, что результирующее изображение сохраняется в экспресс-папке «public», и оно предоставляется клиенту.

<img src="server.com/public/generated.jpg"> 

Я рекомендую этот метод специально, потому что при использовании nodejs/выразить с помощью обратного прокси-сервера (Nginx или подобных), вы можете служить общую папку непосредственно к клиенту, без прохождения запроса через nodejs стека.

Смотреть это для получения дополнительной информации http://expressjs.com/starter/static-files.html

+0

мне нужно сгенерированное изображение, чтобы только идти к клиенту, который просил его - это «Предварительный просмотр» готового продукта. Я предполагаю, что сделаю это в браузере как-нибудь с JQuery или javascript – Leif

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

  • Нет связанных вопросов^_^