如何将文件保存到服务器我得到文件哈希
通过这个程序:
var http = require('http'),
formidable = require('formidable')
, sys = require('sys');
http.createServer(function (req, res) {
// set up some routes
switch(req.url) {
case '/':
// show the user a simple form
console.log("[200] " + req.method + " to " + req.url);
res.writeHead(200, "OK", {'Content-Type': 'text/html'});
res.write('<html><head><title>Hello Noder!</title></head><body>');
res.write('<h1>Welcome Noder, who are you?</h1>');
res.write('<form enctype="multipart/form-data" action="/formhandler" method="post">');
res.write('Name: <input type="text" name="username" value="John Doe" /><br />');
res.write('Age: <input type="text" name="userage" value="99" /><br />');
res.write('File :<input type="file" name="upload" multiple="multiple"><br>');
res.write('<input type="submit" />');
res.write('</form></body></html');
res.end();
break;
case '/formhandler':
if (req.method == 'POST') {
console.log("[200] " + req.method + " to " + req.url);
req.on('data', function(chunk) {
console.log("Received body data:");
// console.log(chunk.toString());
});
var form = new formidable.IncomingForm();
form.parse(req, function(err,fields, files) {
console.log('in if condition'+sys.inspect({fields: fields, files: files}));
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received upload:\n\n');
res.end();
});
req.on('end', function() {
// empty 200 OK response for now
res.writeHead(200, "OK", {'Content-Type': 'text/html'});
res.end();
});
} else {
console.log("[405] " + req.method + " to " + req.url);
res.writeHead(405, "Method not supported", {'Content-Type': 'text/html'});
res.end('<html><head><title>405 - Method not supported</title></head><body><h1>Method not supported.</h1></body></html>');
}
break;
default:
res.writeHead(404, "Not found", {'Content-Type': 'text/html'});
res.end('<html><head><title>404 - Not found</title></head><body><h1>Not found.</h1></body></html>');
console.log("[404] " + req.method + " to " + req.url);
};
}).listen(8000)
我得到了这个字段&文件哈希:
{ fields: { username: 'John Doe', userage: '99' },
files:
{ upload:
{ size: 45739,
path: '/tmp/8d3157e0500349287f424307c3104c18',
name: 'flowers.jpg',
type: 'image/jpeg',
lastModifiedDate: Tue, 26 Apr 2011 10:01:49 GMT,
_writeStream: [Object],
length: [Getter],
filename: [Getter],
mime: [Getter] } } }
现在我如何将此文件保存到服务器。最终我想将其保存到 s3。
By this program :
var http = require('http'),
formidable = require('formidable')
, sys = require('sys');
http.createServer(function (req, res) {
// set up some routes
switch(req.url) {
case '/':
// show the user a simple form
console.log("[200] " + req.method + " to " + req.url);
res.writeHead(200, "OK", {'Content-Type': 'text/html'});
res.write('<html><head><title>Hello Noder!</title></head><body>');
res.write('<h1>Welcome Noder, who are you?</h1>');
res.write('<form enctype="multipart/form-data" action="/formhandler" method="post">');
res.write('Name: <input type="text" name="username" value="John Doe" /><br />');
res.write('Age: <input type="text" name="userage" value="99" /><br />');
res.write('File :<input type="file" name="upload" multiple="multiple"><br>');
res.write('<input type="submit" />');
res.write('</form></body></html');
res.end();
break;
case '/formhandler':
if (req.method == 'POST') {
console.log("[200] " + req.method + " to " + req.url);
req.on('data', function(chunk) {
console.log("Received body data:");
// console.log(chunk.toString());
});
var form = new formidable.IncomingForm();
form.parse(req, function(err,fields, files) {
console.log('in if condition'+sys.inspect({fields: fields, files: files}));
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received upload:\n\n');
res.end();
});
req.on('end', function() {
// empty 200 OK response for now
res.writeHead(200, "OK", {'Content-Type': 'text/html'});
res.end();
});
} else {
console.log("[405] " + req.method + " to " + req.url);
res.writeHead(405, "Method not supported", {'Content-Type': 'text/html'});
res.end('<html><head><title>405 - Method not supported</title></head><body><h1>Method not supported.</h1></body></html>');
}
break;
default:
res.writeHead(404, "Not found", {'Content-Type': 'text/html'});
res.end('<html><head><title>404 - Not found</title></head><body><h1>Not found.</h1></body></html>');
console.log("[404] " + req.method + " to " + req.url);
};
}).listen(8000)
I got this fields & files hash :
{ fields: { username: 'John Doe', userage: '99' },
files:
{ upload:
{ size: 45739,
path: '/tmp/8d3157e0500349287f424307c3104c18',
name: 'flowers.jpg',
type: 'image/jpeg',
lastModifiedDate: Tue, 26 Apr 2011 10:01:49 GMT,
_writeStream: [Object],
length: [Getter],
filename: [Getter],
mime: [Getter] } } }
Now how can i save this file to server.ultimately i want to save it to s3.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请检查 。
http://rahulmehta1. wordpress.com/2011/04/26/uploading-a-file-in-node-js-by-formidable/
Please check .
http://rahulmehta1.wordpress.com/2011/04/26/uploading-a-file-in-node-js-by-formidable/