Как получить формат изображения, когда я получаю изображение через HTTP-запрос, используя nodejs
Я получаю изображение через строку API. когда пользователь отправит изображение на мой бот, я получу его и загрузлю в ведро aws s3: GET https://api.line.me/v2/bot/message/{messageId}/content
Я получил имидж успеха. я использую file = fs.createWriteStream("file.jpg")
а также pipe(file)
, Однако это будет исправлено с расширением файла "jpg". Например, полученный мной файл имеет расширение "gif", он все равно будет сохранен в формате "jpg".
Итак, как получить формат изображения, если я знаю формат изображения, я могу использовать fs.createWriteStream для создания файла того же формата.
1 ответ
Вы можете просто сначала прочитать заголовки изображения, и вы получите формат изображения в нем, в соответствии с форматом изображения можете сохранить его в s3
Ковш.
Вот пример кода.
request.head('https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png', function (err, res, body) {
console.log('content-type:', res.headers['content-type']);
console.log('content-length:', res.headers['content-length']);
let filename = 'image.png' // according to content type
request(uri).pipe(fs.createWriteStream(filename)).on('close', callback);
});
filename
может быть решено в соответствии с content-type