带船长的Sails.js:在开始上传之前检查文件input是否为空
我正在使用Sails 11.1和队长0.5.5。 我有一个表单在我的应用程序中创build一篇文章。 图像可以附加到一篇文章,所以有一个input文件。
我想检查,服务器端,如果这个input文件是空的,在尝试开始上传之前。
有没有可能,如果是的话,我该怎么做?
我试图检查req.files
,或req.files.photo
(“photo”是input名称)和req.body.photo
,但它们始终未定义,即使有文件。 req.file('photo')
总是被定义的,所以我不能检查它。
只是一个注意:当input填充文件,上传工作。
提前致谢。
PS:这个问题也可以在这里find,关于船长GitHub的问题。
我在几个星期前的工作中发现的唯一工作解决scheme是上传文件,然后查看是否有文件已经上传。
req.file(inputname).upload({ dirname: targetLocation, maxBytes: 2*1024*1024 }, function (err, uploadedFiles) { // do stuff with uploadedFiles });
我不知道为什么你的req.file(inputname)
即使在上传文件时也会返回null
。
重要的是,请注意调用req.file()
是棘手的。 我最初用它来确定文件大小,扩展名等等。 看起来像一个很好的方法,如果它是无关紧要的避免上传任何东西。 但是,如果您在4.5秒(默认)内没有使用upload()
调用进行跟踪,那么节点将以ETIMEDOUT错误崩溃。 我很难弄清楚,自那以后就没有抱怨上述方法。