Articles of 强大的

如何validation在node.js上forms强大的“领域”?

如何validation在node.js上forms强大的“领域”? 我想确保所有的字段都由用户填写。 在req.validationErrors()我们有像req.validationErrors() form.parse(req, function(err, fields, files) 提前致谢

多部分file upload问题

我有一个Koa应用程序,它有一个突然停止工作的multipart/form-datafile upload。 我花了8个多小时试图找出问题。 我试过/validation过的: 不是节点6的问题; 节点4(之前的工作)也出现同样的问题。 在packages.json排除了版本问题; 已经对所有相关软件包和最新版本的原始版本进行了testing。 在最新的Chrome和最新的Firefox中发布展品。 问题不会展示,直接从邮递员发送与浏览器发送完全相同的标题 (除了Cookie和Referer ,两者都不能在Postman中设置)。 与Koa包装koa更好的身体和koa垂体问题展品。 直接使用公务员 , 强大 ,甚至是多党的问题展品。 类似于人们在这个垂涎问题上的问题 。 尝试了所有build议(包括在文件参数之前添加字段参数的远景)无济于事。 试图重新创build最小的testing用例,但一直无法。 已经尝试逐行削减我的应用程序,检查巴贝尔输出对最小的testing用例,直到他们在function上相同,问题仍然存在于我的应用程序,但不是在testing的情况下。 所有testing运行在同一台服务器上,使用相同的浏览器。 在debugging的时候,这个问题的最清晰的视angular是在incoming_form.js强大的。 发生单个data事件: 然后一个abort事件: 之后,浏览器最终超时。 (该文件大于在第一个data事件中收到的15个字节。) 我曾经希望通过从formidabl转到busboy来快速解决问题,现在我是一个真正的约束者,因为这个问题需要得到解决,而我正在想办法解决这个问题。 我试图用我能想到的所有方式进行分割,按照我能想到的方式进行debugging,并且没有编写自己的多分析器(不是我会津津乐道的任务),我很快就没有办法了。 有没有人跑过这个? 你有什么想法如何进行debugging或产生一个最小的testing案例?

节点应用程序stream文件直接上传到amazon s3

你好:)我正在看我的节点应用程序streamHTTP POST文件直接上传到Amazon S3桶的可行性。 我正在寻找使用Formidable和Knox。 我不确定的部分是,S3要求您知道传输前文件中的总字节数。 我认为唯一的方法就是使用HTML5 File API(可能是Internet Explorer上的ActiveX控件)来检查客户端上的文件大小,并将其作为HTTP POST请求的一部分发送?

在node.js中,为什么护照会话在触发'文件'事件时停止强大?

在我的应用程序,我只使用 app.use(express.json()); app.use(express.urlencoded()); 并不是 app.use(express.bodyParser()); 这样我可以手动parsingfile upload。 看来,这一行 app.use(passport.session()); 停止从触发文件事件强大: form.on('file', function(name, file) { //never called }); 我怎样才能使用护照会议,而不是与强大的文件事件冲突?

从node.js报告上传进度

我正在编写一个小型的node.js应用程序,它从HTML表单接收多部分POST,并将传入的数据pipe理到Amazon S3。 强大的模块提供了多部分parsing ,将每个部分暴露为一个节点Stream 。 Knox模块将PUT处理为s3。 var form = new formidable.IncomingForm() , s3 = knox.createClient(conf); form.onPart = function(part) { var put = s3.putStream(part, filename, headers, handleResponse); put.on('progress', handleProgress); }; form.parse(req); 我正在通过socket.io向浏览器客户端报告上传进度,但是难以获取这些数字来反映节点向s3上传的真实进度。 当浏览器到节点上传几乎立即发生时,就像节点进程在本地networking上运行一样,进度指示器立即达到100%。 如果文件很大,例如300MB,进度指示器缓慢上升,但仍然比我们的上游带宽更快。 打到100%的进度后,客户端挂起,大概等待s3上传完成。 我知道putStream内部使用Node的stream.pipe方法,但我不明白这是如何真正的工作的细节。 我的假设是,节点尽可能快地吞噬传入的数据,并把它扔到内存中。 如果写入stream可以足够快地获取数据,那么很less的数据会一次存储在内存中,因为它可以被写入和丢弃。 如果写入stream很慢,那么我们可能必须将所有传入的数据保存在内存中,直到它可以被写入。 由于我们正在侦听读取stream上的data事件以便发送进度,因此我们最终报告上传速度比实际速度快。 我对这个问题的理解是否接近标准? 我该如何去解决它? 我是否需要记下来, write下来, drain和pause ?

使用强大的和(knox或aws-sdk)在Node.js上传文件到S3

我正尝试使用aws-sdk或knox将通过表单提交的文件直接上传到Amazon S3存储桶。 表格处理是强大的 。 我的问题是:如何正确使用aws-sdk(或knox)强大的处理stream使用这些库的最新function? 我知道这个话题已经在这里以不同的口味被提出来了, 如何使用node.js强大的库来接收上传的文件并使用knox将其保存到Amazon S3? 节点应用程序stream文件直接上传到亚马逊S3 从一个节点强大的file upload (以及它在overiding form.onPart()上非常有用的接受的答案) 访问原始文件stream 不过,我相信答案有点过时和/或偏离主题(即CORS的支持,目前我不想使用它,因为各种原因)和/或最重要的是,没有提到最新的function或者aws-sdk(参见: https : //github.com/aws/aws-sdk-js/issues/13#issuecomment-16085442 )或者knox(特别是putStream()或者其可读的stream标记(req)变体) 在文档中 )。 经过几个小时的挣扎之后,我得出结论,我需要一些帮助(免责声明:我是一个相当新鲜的stream)。 HTML表单: <form action="/uploadPicture" method="post" enctype="multipart/form-data"> <input name="picture" type="file" accept="image/*"> <input type="submit"> </form> Express bodyParser中间件是这样configuration的: app.use(express.bodyParser({defer: true})) POST请求处理程序: uploadPicture = (req, res, next) -> form = new formidable.IncomingForm() form.parse(req) form.onPart = (part) -> if […]