I am using VueJs / axios in frontend and multer in nodejs for a simple file upload to work.
So far all tries has been unsuccessful. While this can be achieved in 1
I found two ways of achieving this in VueJs. There might be more.
Option 1. Using Axios. Based on answer by Bert Evans above
const formData = new FormData();
formData.append("file", _file);
formData.append("id", 7878);
axios.post("/api/uploadFile", formData)
.then(function (result) {
console.log(result);
}, function (error) {
console.log(error);
});
Option 2. Using Native XMLHttpRequest()`
var formData = new FormData();
formData.append("file", _file);
formData.append("id", 7878);
var request = new XMLHttpRequest();
request.open("POST", "/api/uploadFile");
request.send(formData);
request.onreadystatechange = function () {
if (request.readyState === 4) {
if (request.status === 200 && request.statusText === 'OK') {
console.log('successful');
} else {
console.log('failed');
}
}
}
An interesting point of FormData() browser support here caniuseFormData
Also for those trying like me to make it work with content-type = "multipart/form-data" with axios. It won't work.