我想在axios服务中发送PDF / Docs文件以及其他JSON数据。 我已提到(Ajax post a file from a form with Axios)但它只发送没有任何JSON数据的文件。
field_value: {}, // here it shows empty object,but it should show File Object
field_type: "file_upload",
is_file_upload: true
}
当我在发送请求之前控制对象时它比在FormData()中显示一个文件对象但在post请求中看到它时显示空括号。
答案 0 :(得分:0)
您可以这样做:
//HTML
<input type="file" @change="onFileChanged" :multiple="multiple" :accept="accept" />
然后你的javascript代码来处理文件输入:
onFileChanged(event) {
var files = event.target.files || event.dataTransfer.files;
if (!files.length) {
return;
}
var formData = new FormData();
// Add the File object to the formdata
if (this.multiple) {
formData.append("files", files);
} else {
formData.append("file", files[0]);
}
// Add your data...
formData.append("data", myData);
}
uploadDocument(formData) {
return Axios.post('/api/documents', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
});
}
使用从文件输入类型获得的formData发送到后端。
然后你可以这样做:
uploadDocument(formData).then((response) => {
console.log('data sent');
})
希望它有所帮助。