- 拉拉维尔 5.7
- upload_max_filesize = 200m
- post_max_size = 250m
$request->hasFile('image')
正在返回 null,即使我可以清楚地看到包含返回有效 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));
}
}
data.image
我有 chrome 的 vue 扩展名,当我选择文件时,我可以看到文件已设置。
我在这里想念什么?