hh5*_*188 3 file-upload node.js express
我的代码是这样的:
app.configure(function () {
app.use(express.static(__dirname + "/media"));
app.use(express.bodyParser({
keepExtensions: true
}));
})
app.post('/upload', function (req, res) {
console.log(req.files);
res.send("well done");
return;
})
Run Code Online (Sandbox Code Playgroud)
蚂蚁做的工作如下:
1.Do的成才progoress情况下,我怎么能绑定处理程序的progress,complete事件,我都试过req.files.on('progress', fn),但它不工作
2我知道如何使用req.files来获取文件的信息,但是如何在上传文件之前限制上传文件的大小,或者限制上传图像的分辨率?
您应该查看多部分中间件文档,这是文件上载所涉及的文档.
它表示通过"limit"选项设置限制,如果将"defer"选项设置为true,则可以听取进度.在这种情况下,上传使用的表单将设置为您的请求的属性.然后,您将能够收听进度事件.
所以你的代码应该是这样的(尚未测试):
app.configure(function () {
app.use(express.static(__dirname + "/media"));
app.use(express.bodyParser({
keepExtensions: true,
limit: 10000000, // 10M limit
defer: true
}));
})
app.post('/upload', function (req, res) {
req.form.on('progress', function(bytesReceived, bytesExpected) {
console.log(((bytesReceived / bytesExpected)*100) + "% uploaded");
});
req.form.on('end', function() {
console.log(req.files);
res.send("well done");
});
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11556 次 |
| 最近记录: |