如何在Vue.js和Laravel中上载文件数组?
我正在尝试在Laravel和vue.js中上载多个文件,但我不知道我错过了它的实际方式。你能帮帮我吗 谢谢 Vue文件 什么都没有发生 模板截图:如何在Vue.js和Laravel中上载文件数组?,laravel,vue.js,Laravel,Vue.js,我正在尝试在Laravel和vue.js中上载多个文件,但我不知道我错过了它的实际方式。你能帮帮我吗 谢谢 Vue文件 什么都没有发生 模板截图: 在提交表单之前,如果文件正在推送或不在那里,请执行console.log(this.files)。在onChangeFiles()中,现在在$files=$request->files之前用dd($request)检查请求需要使用foreach循环检查文件数组。在foreach循环中检查文件值 <template> <form
在提交表单之前,如果文件正在推送或不在那里,请执行
console.log(this.files)
。在onChangeFiles()
中,现在在$files=$request->files之前用dd($request)
检查请求代码>需要使用foreach循环检查文件数组。在foreach循环中检查文件值
<template>
<form @submit.prevent="handleSubmit">
<label>Course Module PDF</label>
<input type="file" class="form-control-file" @change="onChangeFiles" />
</form>
</template>
<script>
export default {
data() {
return {
files: [],
};
},
methods: {
handleSubmit() {
let data = new FormData();
data.append("files[]", this.files);
axios.post("/add-course", data, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
.then(() => {
this.isLoading = false;
console.log('Success');
})
.catch(error => {
console.log(error);
}
},
},
onChangeFiles(event) {
let file = event.target.files[0];
this.files.push(file);
},
},
};
</script>
$files = $request->files;
if (count($files) > 0) {
foreach ($files as $file) {
$ext = $file->getClientOriginalExtension();
$name = time().'-'.".".$ext;
$upload_path = 'backend/files/';
$upload_url = $upload_path.$name;
$file->move(public_path($upload_path),$upload_url);
}
}
return "Success";