Я хочу загрузить файл изображения с компонентом vue в контроллер laravel.Моя проблема возникает, когда я нажимаю кнопку отправки, имя / описание / адрес сохраняется, но имя изображения не сохраняется
Я хочу сохранить имя изображения в моей базе данных, но если ($ request-> hasFile ('id_image')) всегда возвращать false
Можете ли вы рассказать мне о синтаксисе для решения этого решения?
это create.vue
<form action="/listorgs" enctype="multipart/form-data">
<div class="form-group">
<label>name_org:</label>
<input type="text" class="form-control" v-model="org.name_org">
</div>
<div class="form-group">
<label>picture:</label>
<input
type="file"
@change="onFileChange"
name="name_image"
id="id_image"
class="inputFile"
>
</div>
<div class="form-group">
<label>description:</label>
<textarea
class="form-control mb-2"
rows="5"
v-model="org.description"
></textarea>
</div>
<div class="form-group">
<label>address:</label>
<input type="text" class="form-control" v-model="org.address">
</div>
<div class="form-group">
<button class="btn btn-primary" v-on:click="addNewOrg()">Save</button>
</div>
</form>
в экспорте по умолчанию
data() {
return {
org: {
name_org: "",
description: "",
address: "",
image: ""
}
};
},
methods: {
addNewOrg() {
axios
.post("/api/listorgs", this.org)
.then(response => {
console.log(response.data);
if (response.data.etat) {
this.org = {
name_org: response.data.etat.name_org,
description: response.data.etat.description,
address: response.data.etat.address,
picture: response.data.etat.image
};
}
})
.catch(error => {
console.log("errors: ", error);
});
console.log(this.image);
},
onFileChange(e) {
let files = e.target.files || e.dataTransfer.files;
if (!files.length) return;
this.createImage(files[0]);
},
createImage(file) {
let reader = new FileReader();
reader.onload = e => {
this.org.image = e.target.result;
};
reader.readAsDataURL(file);
}
}
Это мой контроллер
$listorg=new ListOrg();
$listorg->name_org=$request->get('name_org');
$listorg->description=$request->get('description');
$listorg->address=$request->get('address');
if($request->hasFile('name_image')){
$listorg->picture= $request->image->store('images');
}
$listorg->save();
return response()->json($listorg);
Это говорит