Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Загруженная на сервер картинка не отображется в браузере (https://javascript.ru/forum/node-js-io-js/76219-zagruzhennaya-na-server-kartinka-ne-otobrazhetsya-v-brauzere.html)

Роман Андреевич 14.12.2018 12:09

Загруженная на сервер картинка не отображется в браузере
 
Коллеги, доброго времени суток.
Такой вопрос.

я загружаю на сервер картинку, для последующей отдаче в браузере. Картинка загружается. Но в браузере она не отображается. Создается img но картинки самой нет.

В чем проблема, в том, что она не успевает сохраниться?????

Туплю наверное)))))

Вот пример кода:
static getParcelImage(imageSrc, name) {
		let image = new Buffer(0);

		request({

			method: 'GET',
			url: `https://site.ru${imageSrc}`

		}, (err, response, body) => {

			if (err) console.log(err);



		}).on('data', (chunk)=> {

            image = Buffer.concat([image, chunk]);
            
        }).on('end', () => {

           

        }).pipe(fs.createWriteStream(`public/images/parcels/${name}`));

	}


Ну а на клиенте просто вставляю картинку. Статика отдается nginx перед nodejs стоит

SuperZen 14.12.2018 12:33

Вопрос, зачем так сделано?

Если картинка загружена, она кладется куда-то, например, паблик

https://expressjs.com/ru/starter/static-files.html

Или здесь задумка, взять на стороннем сайте картинку и сохранить?

Роман Андреевич 17.12.2018 09:22

SuperZen, все правильно, берем на стороннем сервере.

Логика такая, я отправляю с клиента запрос, сервер обрабатывает этот запрос, потом посылает запрос за картинкой, сохраняет ее или нет, второй вопрос. И в браузере рендерится ответ вместе с картинкой.

Я протестил, получается, что не хватает времени для загрузки картинки. Ставлю таймаут и работает. Задержка где-то 300-400 мс.

j0hnik 17.12.2018 09:24

Цитата:

Сообщение от Роман Андреевич
Ставлю таймаут и работает. Задержка где-то 300-400 мс.

это хреновый костыль, поставьте neworks > slow 3g

Роман Андреевич 20.12.2018 07:34

j0hnik, что это????? и где это ставить


Часовой пояс GMT +3, время: 06:00.