//request.js
const params = new FormData()
for (let i = 0; i < data.length; i++) {
params.append(i, data[i])
}
for (let item of data.serviceCover) {
params.append('serviceCover', item.raw)
}
for (let item of data.serviceBanner) {
params.append('serviceBanner', item.raw)
}
for (let item of data.serviceImg) {
params.append('serviceImg', item.raw)
}
return new Promise((resolve, reject) => {
// 由于要上传图片所以要将请求头设置为multipart/form-data
instance.post(url, params, {headers: {'Content-Type': 'multipart/form-data'}})
.then(response => resolve(response.data))
.catch(error => reject(error));
});
// 后端nodejs接口部分
var express = require('express');
var ShopServiceRouter = express.Router();
// 图片上传
const multer = require('multer');
// 用于放置上传的图片
const upload = multer({ dest: 'public/shopserviceuploads/' });
// 分别接收每一组图片,要跟前端定义的name一致
ShopServiceRouter.post('/add', upload.fields([{ name: 'serviceCover' }, { name: 'serviceBanner' }, { name: 'serviceImg' }]), (req, res) => {
console.log(req.body, req.files);
res.send({
msg: 'ok',
data: req.files
})
})