Node.js 从Collection.create和normal表单发送时的不同请求内容
我尝试使用主干+ReactJS构建一个文件上传站点,我使用主干模型帮助我保存文件,并使用nodejs+multer保存到mongodb后端 但是我发现这个模块有一些问题, 因为我使用了一个简单的表单来上传文件,没有主干模型,并且使用multer在后端进行处理,它工作得很好 因此,我深入研究了从主干模型save发送的请求,我使用collection.create和从普通表单发送的请求,下面是我得到的: 标准形式: 主干模型具有: 很明显,请求负载在主干模型中是一团乱,对吗? 为什么有两种内容配置?如果名称错误,则名称应该是输入的名称,如 有人知道发生了什么事吗 我不确定我是否在正确的地方,如果我错了,请告诉我,我感谢你的帮助Node.js 从Collection.create和normal表单发送时的不同请求内容,node.js,backbone.js,multer,Node.js,Backbone.js,Multer,我尝试使用主干+ReactJS构建一个文件上传站点,我使用主干模型帮助我保存文件,并使用nodejs+multer保存到mongodb后端 但是我发现这个模块有一些问题, 因为我使用了一个简单的表单来上传文件,没有主干模型,并且使用multer在后端进行处理,它工作得很好 因此,我深入研究了从主干模型save发送的请求,我使用collection.create和从普通表单发送的请求,下面是我得到的: 标准形式: 主干模型具有: 很明显,请求负载在主干模型中是一团乱,对吗? 为什么有两种内容配
谢谢。好吧……经过几个小时的痛苦,我知道发生了什么,其实很简单 事实证明,multer{storage:storageConfig}.single'Input Name'中的输入名称应该与主干模型的属性键相同 例如,如果我的主干模型
app.File = Backbone.Model.extend({
idAttribute : '_id',
urlRoot: '/db/collections',
fileAttribute: 'uploadFile',
defaults: {
_id: null,
title: ''
}
});
那么,我的骡子应该是这样的
`multer({ storage: storageConfig }).single('uploadFile')`
当然,当您尝试在集合中创建和保存模型时,
必须指定相同的属性值
例如:
var file_data = $(".new-file").prop("files")[0]; // Getting the properties of file from file field
var fileName = $(".new-file").val().split('/').pop().split('\\').pop();
if (fileName) {
this.props.files.create({
title: fileName,
uploadFile: file_data
},{ formData: true , wait: true});
ReactDOM.findDOMNode(this.refs.newField).value = '';
}
就这样
但是我不确定在这个解决方案中获取req.body是否合适。。如果我弄明白了,我以后会更新的
谢谢