我的期望:
我正在尝试从 url 读取 PNG 图像,然后用 pngjs 解析它
我得到什么:
错误:文件签名无效
我试过的:
结果urlToBuffer()
肯定是一个缓冲区。我尝试了不同的编码,尝试了不同的 http 客户端等。
抛出错误的地方:
https ://github.com/lukeapage/pngjs/blob/master/lib/parser.js
行:48
我的代码:
const axios = require('axios').default;
const PNG = require('pngjs').PNG;
const urlToBuffer = async (url) => {
return axios({
method: 'get',
url: url,
responseType: 'arraybuffer'
})
.then(res => Buffer.from(res.data))
.then(buffer => {
console.log('is buffer?', Buffer.isBuffer(buffer));
console.log(buffer);
return buffer;
});
};
const beforeImageURL = 'https://my-source.com/image.png';
const beforeImageBuffer = await urlToBuffer(beforeImageURL);
const beforeImage = PNG.sync.read(beforeImageBuffer);