gpt4 book ai didi

node.js - 如何使用 node.js 加载和保存图像?

转载 作者:搜寻专家 更新时间:2023-11-01 00:45:59 27 4
gpt4 key购买 nike

A 有这段代码:

var http = require('http');
var fs = require('fs');
var data;
var options = {
host: 'nodejs.org',
port: 80,
path: '/images/logo.png',
method: 'GET'
};
var req = http.request(options, function(res) {
res.on('data', function (chunk) {
data += chunk;
});
res.on('end', function () {
fs.writeFile('1.png', data, function (err) {
if(err)
console.log('NNOOOOOOOOOOOO');
});
});
});
req.on('error', function(e) {
console.log('error: ' + e.message);
});
req.end();

此脚本创建文件 1.png 并保存获取的数据,但我无法在 Windows 中打开它。

请帮忙。

最佳答案

你可以这样做:

var req = http.request(options, function(res) {
var file = fs.createWriteStream('1.png');
res.pipe(file);
});
req.on('error', function(e) {
console.log('error: ' + e.message);
});
req.end();

更新

我检查了你的代码,发现了两件事:

  1. 数据 未正确初始化。
  2. 使用 setEncoding 将响应视为二进制。不需要在writeFile
  3. 中指定编码

所以只需在 http.request 回调的开头添加这两行:

  res.setEncoding("binary") ;
var data='';

那么您的代码应该可以正常工作。

关于node.js - 如何使用 node.js 加载和保存图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16860334/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com