jpeg nodejs

Как скачать картинку по ссылке на NodeJS

13 октября, 2017
1 минута чтения

Если контент не отображается, включите VPN.

Накостылял ещё один велосипед для тех, кто не хочет юзать сторонние либы для задачи по скачиванию картинки по урлу, накостылял ещё один велосипед. Суть проста: передаешь урл изображения в YOUR_URL, далее идет скачивание и в случае если скачался JPG или PNG отдаётся Blob.

import http from 'http'
import https from 'https'
import {Transform} from 'stream'

const IMAGE_TYPES = {
    'image/jpeg': 'ffd8ffe0',
    'image/jpg': 'ffd8ffe1',
    'image/png': '89504e47',
}

const {get} = YOUR_URL.startsWith('https') ? https : http
get(YOUR_URL).on('response', res => {
    const data = new Transform()
    res.on('data', chunk => data.push(chunk))
    res.on('end', async () => {
        const buffer = data.read()
        const bufferType = buffer.toString('hex', 0, 4)
        const [mimeType] = Object.entries(IMAGE_TYPES).find(type => type.includes(bufferType)) || []
        if (!mimeType) {
            throw 'Image must be jpeg or png'
        }
        console.log(mimeType, buffer) 
    })
}).on('error', error => {
    throw error
})

Денис Сергеевич Басковский

Философ, изобретатель и поэт.

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
чем заменить if
Предыдущая статья

Перестаньте использовать let или чем бы заменить if

html5 button mazimaze
Следующая статья

Кнопка «Развернуть на весь экран» на CSS