- Laravel 5.7
- upload_max_filesize = 200 м
- post_max_size = 250 м
$request->hasFile('image')
возвращает ноль, хотя я отчетливо вижу запрос, содержащий ключ изображения, возвращающийся с действительным base64 (проверено, что он является изображением)
Контроллер
if ($request->hasFile('image')) {
return 'yes';
}else{
echo 'no';
return $request->all();
}
передний
<form @submit.prevent="saveOoi" enctype="multipart/form-data">
<div><img :src="image" class="embed-responsive"></div>
<input type="file" v-on:change="onFileChange" class="form-control mb-3" name="image">
</form>
Сценарии
data() {
return {
image: '',
errors: new Errors(),
}
},
methods: {
onFileChange(e) {
let files = e.target.files || e.dataTransfer.files;
if (!files.length)
return;
this.createImage(files[0]);
this.$data.image = files[0];
},
createImage(file) {
let reader = new FileReader();
let vm = this;
reader.onload = (e) => {
vm.image = e.target.result;
};
reader.readAsDataURL(file);
},
saveOoi() {
axios.post('ooi', this.$data)
.then(response => console.log('sent', response))
.catch(error => this.errors.record(error.response.data));
}
}
У меня есть расширение vue для Chrome, и я вижу, что файл установлен в data.image
, когда я выбираю файл.
Что мне здесь не хватает?