1

我正在尝试制作一个能够使用 express 保存文件的简单文件服务器:

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

分两块。

4

1 回答 1

1

关于> getting an empty file in "uploads" folder,

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

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

查看答案以获取更多信息。

于 2013-08-23T15:15:16.080 回答