我正在嘗試通過 Illuminate/Http/Request 從 Vue 前端上傳影像到 WinterCMS。Vue 找到該檔案,我可以通過 console.log 記錄 File 物件,但我不確定如何通過 api 獲取它。例如我試過
public function saveImage(Request $req){
$images = $req->files('images');
}
這不起作用,也不行
public function saveImage(Request $req){
$images = $req['images'];
}
我正在使用控制器來處理我的路線,例如:
Route::post('/saveImage', 'Author\Project\Controllers\ProductControl@saveImage');
我像往常一樣向插件添加了一個 attachOne 關系,我的表單有 enctype="multipart/form-data" 我以前遇到過這個問題,并通過將影像轉換為 base64 來解決它,但這個專案會有很多影像我不想再走那條路了。任何建議非常感謝
uj5u.com熱心網友回復:
您可以將影像作為常規帖子發送并$request->file('images')在 Laravel 控制器中使用常規方法。
您可以使用 Javascript FormData 物件。例如;
<div>
<input type="file" @change="handleImages" multiple>
<button @click="uploadImages">Upload!</button>
</div>
data: () => ({
images: []
}),
methods: {
handleImages (event) {
this.images = event.target.files
},
uploadImages () {
const formData = new FormData();
for (const i of Object.keys(this.images)) {
formData.append('images', this.images[i])
}
axios.post('/saveImage', formData, {
}).then((res) => {
console.log(res)
})
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/394006.html
下一篇:Laravel-檢索外部表名
