在搜索了此错误之后,未能找到我决定询问的答案。
wrapData: function() {
var fd = new FormData(),
image;
_.each(this.models, function(model, i) {
console.log(model.toJSON());
if (model.get('cover')) {
fd.append("portada", model.get('file'));
}
image = model.get('file');
fd.append("images", image, image.name);
});
return fd;
},
sync: function(method, model, options) {
var opts = {
url: this.url(),
success: function(response) {
if (options.success || false) {
options.success(data);
}
console.log(response);
return response;
}
};
switch (method) {
case "create":
opts.type = "POST";
opts.data = this.wrapData();
opts.processData = false;
opts.contentType = false;
break;
default:
opts.type = "GET";
}
return $.ajax(opts);
},
下面的代码尝试使用骨干js将多个图像上传到服务器。因此,当用户不选择一张图像作为封面时,请求获得成功(保存数据并返回响应),但是当用户选择一张图像时,请求获得失败
if (model.get('cover')) {
fd.append("portada", model.get('file'));
}
,然后NodeJS打印:
name: 'MulterError',
message: 'Unexpected field',
code: 'LIMIT_UNEXPECTED_FILE',
field: 'portada'
但是令人困惑的是,当我尝试从Insomnia(REST客户端)执行相同操作时,请求获得了成功。
Here is the request from Insomnia and it response
我知道,multer会引发此错误,因为名称为“ portada”而不是名称为“ images”。但是我不明白为什么它可以在失眠症中起作用,但是从前端来看却没有。我正在一起尝试做同样的事情。
感谢您的帮助。