我正在尝试使用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);
});
});
我只在“uploads”文件夹中获取一个空文件。
我错过了什么?
可能是一个非常愚蠢的问题,但我是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
两个部分。
答案 0 :(得分:1)
关于> getting an empty file in "uploads" folder
,
您必须将(已解码的)请求正文保存到文件中。
另请注意,客户端内容编码为 multipart 。类似多部分内容非常棘手。您可以使用 bodyParser 中间件。
请查看this答案以获取更多信息。