NodeJS 如何在不下载的情况下从网站读取文件?

6pp0gazn  于 2023-11-17  发布在  Node.js
关注(0)|答案(1)|浏览(121)

我想不使用.pipe()从链接中读取图像文件,然后使用sharp处理它。
我试着从以下地址获取响应体:

request("https://www.google.com/images/branding/googlelogo/1x/googlelogo_light_color_272x92dp.png").on('response',(res)=>{
console.log(res)
})

字符串
但是body总是返回undefined。我不想浪费我的VPS存储空间,谢谢。

i2byvkas

i2byvkas1#

您需要使用request withencoding:null选项。这里是一个工作示例。

const request = require('request');
const sharp = require('sharp');

const url = 'https://www.google.com/images/branding/googlelogo/1x/googlelogo_light_color_272x92dp.png';
request.get({ url, encoding: null }, async function (error, response, body) {
    if (!error && response.statusCode == 200) {
        const metadata = await sharp(Buffer.from(body, 'base64')).metadata();
        console.log(metadata);
    }
});

字符串

相关问题