我想两次解析一个多部分的表单:一次获取传入的字段,然后解析文件上传。
我正在尝试在Node应用程序中保持适当的关注点分离:
- 控制器负责处理传入字段。
- 模型负责上传文件的逻辑。
我需要将字段数据传递到模型中以创建新实例,因此在文件上传开始之前,字段数据需要可用。
当前,每个form.parse()
或等效函数都将字段和文件解析在一起。示例:一起req.pipe(busboy)
处理文件和字段。
我已经检查了节点多方,强大,busboy,multer之类的模块。似乎没有人对此有解决方案。
我想要实现的示例在这里:https : //stackoverflow.com/questions/22336177/node-js-busboy-parse-fields-and-files-seperatly
这有可能吗?
2
等待...所以您将要让模型负责逻辑和控制?
—
马修·马克·米勒
不错,通常情况下,架构很难混合考虑。这是2年前的事情,所以当我问这个问题时,我不完全记得我正在解决什么问题,但是我确实记得我希望保存逻辑成为Mongoose模式对象的一部分。通过在模型上使用猫鼬方法,我可以轻松地从应用程序中的任何位置进行保存。回顾过去,我认为save方法的通用性不足以成为模型方法,可能应该将其保留为单独的服务方法。mongoosejs.com/docs/guide.html
—
斯科特
大声笑我还没有意识到这有多大...它以某种方式流到了我的“需要回答”队列的顶部。是的,我认为将持久性操作与要持久存储的数据分开是正确的,尤其是当那些对象可能正在二维传输数据时。可以很容易地弄乱和保留控制器外部的东西。
—
马修·马克·米勒
@Scott “这是2年前的事,所以我不完全记得当我问这个问题时我正在解决什么问题” -然后您可以考虑删除此问题,因为根本不可能回答。
—
蒂莫西·特拉克