用快递上传文件

我正在试图使一个简单的文件服务器能够使用快速保存文件:

var app = express(); app.use(express.bodyParser({uploadDir:'./uploads'})) app.post('/upload', function(req, res, next) { console.log("Uploading File"); req.on('data', function(raw) { console.log('received data: ' + raw); }); req.on('end', function() { console.log('File uploaded'); res.send(200); }); }); 

我只是在“上传”文件夹中获得一个空文件。

我错过了什么?

也许是一个非常愚蠢的问题,但我是新的node.js。

编辑 :更多信息…

我从我的客户发送这个:

 POST /upload HTTP/1.1 Connection: Close Content-Length: 42 Content-Type: multipart/form-data; boundary="MIME_boundary_572B1A2B457D3267" Cookie: session.id=b268b12e-0c05-11e3-8702-7a7919510927 Host: localhost:8080 Transfer-Encoding: chunked Client 3 Received Message: E4 --MIME_boundary_572B1A2B457D3267 Content-Disposition: form-data; name="test1.txt"; filename="test1.txt" Content-Type: application/octet-stream File1 from client in W7 to send to server. --MIME_boundary_572B1A2B457D3267-- 0 

在两个大块。

对于> getting an empty file in "uploads" folder

您必须将(解码的)请求主体保存到文件中。

另请注意,客户端内容编码是多部分 。 类似多部分的内容是棘手的。 你可以使用bodyParser中间件。

看看这个答案更多的信息。