Node.js 使用带节点的axios获取图片jpg
我正在尝试使用axios[通过节点http get请求]从另一个节点应用程序获取图片。 问题是,当我使用axios时,我得到的文件格式不正确,而当我保存它时,它却没有 看一张照片。。。当我使用HTTPGET时,我得到了一张完美的图片,并且保存得很好Node.js 使用带节点的axios获取图片jpg,node.js,axios,http-get,node-rest-client,Node.js,Axios,Http Get,Node Rest Client,我正在尝试使用axios[通过节点http get请求]从另一个节点应用程序获取图片。 问题是,当我使用axios时,我得到的文件格式不正确,而当我保存它时,它却没有 看一张照片。。。当我使用HTTPGET时,我得到了一张完美的图片,并且保存得很好 获取图片的工作代码: 接收者: var data = new Stream.Transform(); res.on('data', function(chunk) { console.log(typeof chun
- 获取图片的工作代码:
var data = new Stream.Transform();
res.on('data', function(chunk) {
console.log(typeof chunk)
data.push(chunk);
});
res.on('end', function() {
fs.writeFileSync('event.png', data.read());
});
export const getImage = (req, res) => {
const pathToImage = 'C:/dev/server/images/event.jpg';
const img = fs.readFileSync(pathToImage);
res.writeHead(200, {'Content-Type': 'blob' });
res.end(img, 'binary');
}
发件人:
var data = new Stream.Transform();
res.on('data', function(chunk) {
console.log(typeof chunk)
data.push(chunk);
});
res.on('end', function() {
fs.writeFileSync('event.png', data.read());
});
export const getImage = (req, res) => {
const pathToImage = 'C:/dev/server/images/event.jpg';
const img = fs.readFileSync(pathToImage);
res.writeHead(200, {'Content-Type': 'blob' });
res.end(img, 'binary');
}
- axios(非工作代码):
axios.get(url)
.然后((响应:AxiosResponse)=>{
//本地保存图片:
让data=newstream.Transform();
数据推送(response.data);
fs.writeFileSync('event.jpg',data.read());
})
.catch((错误:AxioError)=>{
console.log(错误消息);
})
你知道为什么axios不能像http那样工作吗?明白了-很简单:
const response = await axios({
url,
method: 'GET',
responseType: 'stream'
})
fs.writeFileSync('event.png', response.data.read());
你们能通过邮递员获取图像吗?是的,正如我所说的,我可以使用简单的http获取。