Я разрабатываю своего рода API с NodeJS.
Мне нужно сделать вид getImage, который возвращает изображение, соответствующее имени в URL (например: localhost: 8080 / getImage / myImg).
Я нашел много учебных пособий в Интернете, но проблема в том, что я не должен использовать writeFile и readFile из FS, потому что мои изображения хранятся в массиве с другой информацией JSON. Изображения, которые я храню, отправляются другим API в tomCat, и моя задача состоит в том, чтобы ограничить вызовы API tomCat путем настройки API NodeJS.
У меня вопрос, как отправить изображение, хранящееся в переменной / array / json?
Я попробовал приведенный ниже код, но когда я перехожу на localhost: 8080 / getImage / myImg, код выполняется, но ничего не возвращается.
Я не пытался использовать какую-то папку tmp, где я сортирую изображения, потому что я работаю над большим продуктом, и если я могу ограничить доступ к диску, это было бы здорово.
app.get('/getImage/:name', (req, res) => {
imagesArray.forEach( (image) => {
if(req.params.name === image.small_image_name) {
res.writeHead(200, {'content-type': 'image/jpeg'})
res.end(image.small_image, 'binary')
} else if (req.params.name === image.full_image_name) {
res.writeHead(200, {'content-type': 'image/jpeg'})
res.end(image.full_image, 'binary')
}
})
})
Я хотел бы сделать следующее: вы делаете http-запрос к URL с именем изображения в качестве параметра, чтобы «загрузить» изображение и изменить фон элемента, отображаемого на моей главной странице.
Спасибо за ваши будущие ответы.
хорошего дня!