gpt4 book ai didi

javascript - Node.js 复制远程文件到服务器

转载 作者:搜寻专家 更新时间:2023-10-31 23:02:54 26 4
gpt4 key购买 nike

现在我正在 PHP 中使用这个脚本。我将图像和尺寸(大/中/小)传递给它,如果它在我的服务器上,它会返回链接,否则它会从远程服务器复制它,然后返回本地链接。

function getImage ($img, $size) {
if (@filesize("./images/".$size."/".$img.".jpg")) {
return './images/'.$size.'/'.$img.'.jpg';
} else {
copy('http://www.othersite.com/images/'.$size.'/'.$img.'.jpg', './images/'.$size.'/'.$img.'.jpg');
return './images/'.$size.'/'.$img.'.jpg';
}
}

它工作正常,但我试图在 Node.js 中做同样的事情,但我似乎无法弄清楚。文件系统似乎无法与任何远程服务器交互,所以我想知道我是否只是搞砸了,或者它是否无法在 native 完成并且需要一个模块。

有人知道 Node.js 中的方法吗?

最佳答案

你应该看看 http.Clienthttp.ClientResponse .使用这些你可以向远程服务器发出请求并使用 fs.WriteStream 将响应写出到本地文件.

像这样:

var http = require('http');
var fs = require('fs');
var google = http.createClient(80, 'www.google.com');
var request = google.request('GET', '/',
{'host': 'www.google.com'});
request.end();
out = fs.createWriteStream('out');
request.on('response', function (response) {
response.setEncoding('utf8');
response.on('data', function (chunk) {
out.write(chunk);
});
});

我还没有测试过,我不确定它是否可以开箱即用。但我希望它能引导您找到所需的东西。

关于javascript - Node.js 复制远程文件到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4174022/

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