Формирую данные и отправляю так
submitForm (newValue) {
let FD = new FormData()
FD.append('action', 'UPDATE')
FD.append('params', JSON.stringify(OEWparams))
if (this.oew_type === 'el_image') {
newValue.forEach(function (item, index) {
FD.append('p[' + index + '][0]', item.img)
FD.append('p[' + index + '][1]', item.img_mini)
})
}
for (let value of FD.values()) {
console.log(value)
}
Api().post('settings', FD)
}
консоль
UPDATE
{"edit_type":"el","el_object":"5cad5b7f9439b91b342d3663","pixel_id":"5c7defa9f3eb9d0efcc4b5a9","el_type":"5c5e951ec3d902119834af69","value_type":"image","new_value":[],"startIndex":0}
File {uid: 1558322638902, name: "2018-lexus-lx570-116-1526419489.jpg", lastModified: 1550452912986, lastModifiedDate: Mon Feb 18 2019 11:21:52 GMT+1000 (Владивосток, стандартное время), webkitRelativePath: "", …}
File {name: "blob", lastModified: 1558322829055, lastModifiedDate: Mon May 20 2019 13:27:09 GMT+1000 (Владивосток, стандартное время), webkitRelativePath: "", size: 82204, …}
Считываю так
const multer = require('multer');
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, '/tmp/my-uploads')
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now())
}
})
const upload = multer({ storage: storage }).single('p')
app.all('/settings', (req, res) => {
var action = req.body.action;
if (req.body.hasOwnProperty('params')) {
if (typeof req.body.params === 'string') {
req.body.params = JSON.parse(req.body.params);
}
if (req.body.params.hasOwnProperty('edit_type', 'value_type')) {
if (req.body.params.edit_type === 'el' && req.body.params.value_type === 'image') {
req.body.params.new_value = req.body.imgs
upload(req, res, function (err) {
if (err instanceof multer.MulterError) {
// A Multer error occurred when uploading.
console.log(err)
} else if (err) {
// An unknown error occurred when uploading.
console.log(err)
}
// Everything went fine.
})
}
}
}
})
Но файлы не сохраняются, в чем проблема?