Javascript 从vuex存储操作传递对象
我在尝试使用FormData和Axios发送Javascript 从vuex存储操作传递对象,javascript,php,vue.js,file-upload,vuex,Javascript,Php,Vue.js,File Upload,Vuex,我在尝试使用FormData和Axios发送POST请求时遇到问题, .append()似乎可以工作,但在发出POST请求时,后端无法工作 获取提交的文件,请求为空 如何使用FormData(): 我做错了什么,你能告诉我吗? <input class="form-control block" type="file" ref="files" multiple required @change="handleFileUpload"> data() { return {
POST
请求时遇到问题,
.append()
似乎可以工作,但在发出POST
请求时,后端无法工作
获取提交的文件,请求为空
如何使用FormData()
:
我做错了什么,你能告诉我吗?
<input class="form-control block" type="file" ref="files" multiple required @change="handleFileUpload">
data() {
return {
email: '',
username: '',
files: [],
isSubmitting: false,
isSubmitted: false,
isError: false,
};
},
methods: {
handleFileUpload() {
// eslint-disable-next-line
this.files = this.$refs.files.files;
},
async addWork() {
try {
this.isSubmitting = true;
this.isError = false;
const formData = new FormData();
for (let i = 0; i < this.files.length; i++) {
const file = this.files[i];
formData.append(`files['${i}']`, file);
}
const { username, email } = this;
formData.append('email', email);
formData.append('username', username);
await WorksRepository.addWork(formData);
this.isSubmitted = true;
} catch (e) {
this.isError = true;
} finally {
this.isSubmitting = false;
}
},
数据(){
返回{
电子邮件:“”,
用户名:“”,
文件:[],
提交:错误,
提交的问题:错误,
伊瑟罗:错,
};
},
方法:{
handleFileUpload(){
//eslint禁用下一行
this.files=this.$refs.files.files;
},
异步addWork(){
试一试{
this.isSubmitting=true;
this.isError=false;
const formData=new formData();
for(设i=0;i
您可以看到完整的示例
<input class="form-control block" type="file" ref="files" multiple required @change="handleFileUpload">
data() {
return {
email: '',
username: '',
files: [],
isSubmitting: false,
isSubmitted: false,
isError: false,
};
},
methods: {
handleFileUpload() {
// eslint-disable-next-line
this.files = this.$refs.files.files;
},
async addWork() {
try {
this.isSubmitting = true;
this.isError = false;
const formData = new FormData();
for (let i = 0; i < this.files.length; i++) {
const file = this.files[i];
formData.append(`files['${i}']`, file);
}
const { username, email } = this;
formData.append('email', email);
formData.append('username', username);
await WorksRepository.addWork(formData);
this.isSubmitted = true;
} catch (e) {
this.isError = true;
} finally {
this.isSubmitting = false;
}
},