连接1.8.0 - 多部分支持 - 强大的报告进度 - 大文件?

zum*_*zum 3 file-upload connect node.js express

我遇到了TJ Holowaychuk关于多部分支持的帖子以及bodyParser现在如何直接执行我曾经使用过强大的东西.我认为它非常方便,同时我现在对如何处理感到困惑: - 上传大文件?connect-form是否处理支持上传大小为100MB的文件所需的所有内容? - 上传期间报告进度?我以前在更改之前调用了form.parse(..)事件,因为它全部由bodyParser处理,它从未调用过...

Holowaychuk说:"这样做的缺点是,如果您希望报告上传进度,或者在请求流式传输时访问文件和字段,则必须直接使用强大的"(http://tjholowaychuk.com/).我试着直接使用它.它对我有用的唯一方法是:

... app.use(app.router); 之前:

app.use(express.bodyParser());

所以我认为这解决了我的问题,直到我想使用无效的会话,因为必须在bodyparser之前放置路由器才能使上传工作,并且:app.use(express.cookieParser()); app.use(express.session({...})必须遵循:app.use(express.bodyParser());抛出会话....

所以:

什么是处理/配置文件上传的正确方法,以便报告进度工作和会话一起工作,使用这种新方式连接形式的小文件和大文件?

我对Node并没有超级经验,所以如果你做了回答,请尽可能记住.

谢谢!

tjh*_*huk 6

没有一个正确的答案,bodyParser()不会适合所有人.在下一个版本的connect中,我们将使用multpart(),json()和urlencoded(),其中bodyParser()使用全部三个,所以如果你不想要req.files支持,你只需要使用另外两个.如果我们能想出用multipart()/ bodyParser()来揭示某些事件的优雅方式,那么我就失望了,直到那时你可以在bodyParser()上面添加你自己强大的中间件.

  • 它仍然是完全可以接受的,你只是不能(当前)以这种方式使用progress事件,但至少对环境不熟悉的人实际上可以使它工作 (2认同)