用快递上传文件
我正在试图使一个简单的文件服务器能够使用快速保存文件:
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中间件。
看看这个答案更多的信息。
- 请求标头字段Access-Control-Allow-Headers不允许进行身份validation
- 正则expression式不能读取HTML文件
- Express:如何将variables传递给安装的中间件
- 节点express的bodyParser无法获取GET请求中的参数
- 我如何处理JavaScript中的正则expression式边界的收缩
- Express – 返回二进制数据
- 平均应用程序。 同时两台服务器Express,NodeJS,Angular 2
- Express JS反向URL路由(Django风格)
- 使用EJS Express可以将HTML呈现给variables(所以我可以通过电子邮件发送)?