Как загрузить файлы на сервер во vue с использование primevue FileUpload
У меня есть компонент для редактирования задачи. В нём я добавил загрузку файлов к задаче. Но не могу сообразить даже с помощью документации. Собственно сам вопрос: как загрузить файл с помощью POST запроса и передать данные в formData. Старый код:
function addFileOnTask(file, task) {
let formData = new FormData();
formData.append("file", new Blob([file]), file.name);
formData.append("taskId", task.id);
formData.append("fileName", file.name);
formData.append("docId", task.doc.id);
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4 && xmlHttp.status == 200) incomingUpd(mArgs);
}
xmlHttp.open("POST", "/addFile", true);
xmlHttp.send(formData);
}
Новый код:
<template>
<div class="flex">
<FileUpload
mode="basic"
name="demo[]"
:url="`${this.$store.state.main_url}/addFile`"
accept="image/*"
:multiple="true"
:maxFileSize="1000000"
@upload="onUpload"
@before-send="beforeUpload"
:auto="true"
chooseLabel="Загрузить"/>
</div>
</template>
<script>
export default {
data() {
return {
formData: new FormData(),
};
},
methods: {
onUpload(){
//Что тут нужно,
},
beforeUpload(req) {
//А что нужно тут?
}
}
}
<script>