尝试从wikipedia获取图像并在node.js中提供
我试图在node.js中创建一个Web服务器,从Wikipedia下载一个图像,并将其保存在页面上。我不能让它工作。我将代码粘贴到在线沙盒中:尝试从wikipedia获取图像并在node.js中提供,node.js,Node.js,我试图在node.js中创建一个Web服务器,从Wikipedia下载一个图像,并将其保存在页面上。我不能让它工作。我将代码粘贴到在线沙盒中: fs.js:415 binding.write(fd, buffer, offset, length, position, wrapper);
fs.js:415
binding.write(fd, buffer, offset, length, position, wrapper);
^
TypeError: Bad argument
at Object.fs.write (fs.js:415:11)
at IncomingMessage.<anonymous> (server.js:18:12)
at IncomingMessage.EventEmitter.emit (events.js:96:17)
at IncomingMessage._emitData (http.js:359:10)
at HTTPParser.parserOnBody [as onBody] (http.js:123:21)
at Socket.socketOnData [as ondata] (http.js:1485:20)
at TCP.onread (net.js:404:27)
这是我的密码:
var http = require('http');
var fs = require('fs');
var fd = fs.open('name.jpeg', 'r+');
var options = {
host:'upload.wikimedia.org',
port:80,
path:'/wikipedia/commons/1/15/Jagdschloss_Granitz_4.jpg'
};
var server = http.createServer(function(req, res){
res.writeHead(200, ['Content-Type', 'text/html']);
http.get(options,function(res) {
res.on('data', function (chunk) {
fs.write(fd, chunk, 0, chunk.length, 0, null);
});
res.on('end',function(){
fd.end();
res.send("<img src='name.jpeg'></img>");
res.end();
});
});
});
fs.js:415
binding.write(fd, buffer, offset, length, position, wrapper);
^
TypeError: Bad argument
at Object.fs.write (fs.js:415:11)
at IncomingMessage.<anonymous> (server.js:18:12)
at IncomingMessage.EventEmitter.emit (events.js:96:17)
at IncomingMessage._emitData (http.js:359:10)
at HTTPParser.parserOnBody [as onBody] (http.js:123:21)
at Socket.socketOnData [as ondata] (http.js:1485:20)
at TCP.onread (net.js:404:27)
var http=require('http');
var fs=需要('fs');
var fd=fs.open('name.jpeg','r+');
变量选项={
主持人:'upload.wikimedia.org',
港口:80,
路径:'/wikipedia/commons/1/15/Jagdschloss_Granitz_4.jpg'
};
var server=http.createServer(函数(req,res){
res.writeHead(200,['Content-Type','text/html']);
get(选项、函数(res){
res.on('data',函数(块){
写入(fd,chunk,0,chunk.length,0,null);
});
res.on('end',function(){
fd.end();
res.send(“”);
res.end();
});
});
});
侦听(process.env.OPENSHIFT_NODEJS_端口,process.env.OPENSHIFT_NODEJS_IP)
fs.js:415
binding.write(fd, buffer, offset, length, position, wrapper);
^
TypeError: Bad argument
at Object.fs.write (fs.js:415:11)
at IncomingMessage.<anonymous> (server.js:18:12)
at IncomingMessage.EventEmitter.emit (events.js:96:17)
at IncomingMessage._emitData (http.js:359:10)
at HTTPParser.parserOnBody [as onBody] (http.js:123:21)
at Socket.socketOnData [as ondata] (http.js:1485:20)
at TCP.onread (net.js:404:27)
我经常遇到:
fs.js:415
binding.write(fd, buffer, offset, length, position, wrapper);
^
TypeError: Bad argument
at Object.fs.write (fs.js:415:11)
at IncomingMessage.<anonymous> (server.js:18:12)
at IncomingMessage.EventEmitter.emit (events.js:96:17)
at IncomingMessage._emitData (http.js:359:10)
at HTTPParser.parserOnBody [as onBody] (http.js:123:21)
at Socket.socketOnData [as ondata] (http.js:1485:20)
at TCP.onread (net.js:404:27)
node server.js
fs.js:415
binding.write(fd, buffer, offset, length, position, wrapper);
^
TypeError: Bad argument
at Object.fs.write (fs.js:415:11)
at IncomingMessage.<anonymous> (server.js:18:12)
at IncomingMessage.EventEmitter.emit (events.js:96:17)
at IncomingMessage._emitData (http.js:359:10)
at HTTPParser.parserOnBody [as onBody] (http.js:123:21)
at Socket.socketOnData [as ondata] (http.js:1485:20)
at TCP.onread (net.js:404:27)
运行
fs.js:415
binding.write(fd, buffer, offset, length, position, wrapper);
^
TypeError: Bad argument
at Object.fs.write (fs.js:415:11)
at IncomingMessage.<anonymous> (server.js:18:12)
at IncomingMessage.EventEmitter.emit (events.js:96:17)
at IncomingMessage._emitData (http.js:359:10)
at HTTPParser.parserOnBody [as onBody] (http.js:123:21)
at Socket.socketOnData [as ondata] (http.js:1485:20)
at TCP.onread (net.js:404:27)
fs.js:415
binding.write(fd、缓冲区、偏移量、长度、位置、包装器);
^
TypeError:参数错误
在Object.fs.write(fs.js:415:11)
在收到消息时。(server.js:18:12)
在IncomingMessage.EventEmitter.emit(events.js:96:17)
在IncomingMessage._emitData(http.js:359:10)
在HTTPParser.parserOnBody[作为onBody](http.js:123:21)
在Socket.socketOnData[as ondata](http.js:1485:20)
在TCP.onread(net.js:404:27)
工作代码-保存图像文件:
fs.js:415
binding.write(fd, buffer, offset, length, position, wrapper);
^
TypeError: Bad argument
at Object.fs.write (fs.js:415:11)
at IncomingMessage.<anonymous> (server.js:18:12)
at IncomingMessage.EventEmitter.emit (events.js:96:17)
at IncomingMessage._emitData (http.js:359:10)
at HTTPParser.parserOnBody [as onBody] (http.js:123:21)
at Socket.socketOnData [as ondata] (http.js:1485:20)
at TCP.onread (net.js:404:27)
/**Try to get an image from Wikipedia and return it**/
var http = require('http');
var fs = require('fs');
var options = {
host:'upload.wikimedia.org',
port:80,
path:'/wikipedia/commons/1/15/Jagdschloss_Granitz_4.jpg'
};
var server = http.createServer(function(req, res){
res.writeHead(200, ['Content-Type', 'text/html']);
http.get(options,function(imgRes) {
imgRes.pipe(fs.createWriteStream('name.jpeg'));
res.end("<html><img src='name.jpeg'></img></html>");
});
});
server.listen(process.env.OPENSHIFT_NODEJS_PORT, process.env.OPENSHIFT_NODEJS_IP);
嘿,Wach,谢谢你的回复,但我正在尝试学习node,不想使用外部库,还可以吗?@Chen Lee任何库都可以做,你可以手动做;)(更新答案)谢谢!但是我的图像仍然没有显示,如果您在sandbox::中看到输出,在webview中它有“不是图像吗?替换
res.writeHead(200,['Content-Type','text/html')代码>带有res.writeHead(200,{'Content-Type':'text/html'})代码>维基喜欢过滤他们的图片吗?