Я использую реагирование и отправляю изображение и данные, связанные с ним, в форме.
<form>
<input type='file' name='image'/>
</form>
let formdata = new formData();
formdata.append('file',file);
formdata.append(data,data);
let output = axios({
methodname=post,
path = '/image',
header = {
auth : token,
content-type: multipart/form-data
},
data : formdata
})
formdata = { file: (file)
data:{
title:'',
desc:''
}
}
и теперь на стороне сервера
let upload = multer({dest:'./pictures'});
router.post('/image',verifytoken,upload.single('image'),functions(req,res){
console.log(req.file); ?????
});
Я думаю, что способ отправки файла является проблемой, но я не могу найти структуру запроса, поступающего от клиентских аксиос. Любые советы и предложения приветствуются
Ошибка: неожиданный токен
createImage(data) {
const formData = new FormData();
formData.append('file', data.file);
formData.append('data', data.data);
let axiosObject = {
methodName: 'post',
path: '/image',
data: formData,
header: {
authorization: null,
'content-type': 'multipart/form-data'
}
}
let result = this.axiosManager(axiosObject);
return result;
}
axiosManager(axiosObject) {
let authorizationToken = this.getAuthorizationToken();
axiosObject.header.authorization = authorizationToken;
let output = axios({
method: axiosObject.methodName,
url: config.apiServer + axiosObject.path,
data: axiosObject.data,
headers: axiosObject.header
});
return output.then((httpResponse) => {
if (httpResponse.data.success === true) {
return httpResponse.data.data;
} else {
return Promise.reject(httpResponse.data.error);
}
});
}