A W*_* It 4 javascript node.js
现在我在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';
}
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我试图在Node.js做同样的事情,我似乎无法搞清楚.文件系统似乎无法与任何远程服务器进行交互,所以我想知道我是不是只是弄乱了一些东西,或者它是否无法在本地完成并且需要一个模块.
任何人都知道Node.js的方式?
你应该看看http.Client和http.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);
});
});
Run Code Online (Sandbox Code Playgroud)
我没有测试过,我不确定它是否可以开箱即用.但我希望它会引导你到达你需要的东西.
| 归档时间: |
|
| 查看次数: |
5082 次 |
| 最近记录: |