【发布时间】:2019-01-16 09:50:38
【问题描述】:
我在我的 vue js 组件中有一个文件上传,它在服务器中发送 base64
methods: {
onFileChange(e) {
console.log(e.target.files[0]);
let fileReader = new FileReader();
fileReader.readAsDataURL(e.target.files[0]);
fileReader.onload = (e) => {
this.product.cover_image = e.target.result
};
},
<div class="form-group">
<label for="exampleInputFile">Upload Image of Product</label>
<input type="file" ref="fileupload" v-on:change="onFileChange" id="exampleInputFile">
</div>
在我的 laravel 控制器中,我使用图像干预通过 Image::make 保存图像
public function store(Request $request){
$this->validate($request, [
'name' => 'required|max:255',
'price' => 'required|numeric',
]);
$image = $request->get('cover_image');
$name = time().'.' . explode('/', explode(':', substr($image, 0, strpos($image, ';')))[1])[1];
Image::make($request->get('cover_image'))->save(public_path('cover_images/').$name);
$product = new Product;
$product->name = $request->input('name');
$product->description = $request->input('description');
$product->price = $request->input('price');
$product->cover_image = $name;
if($product->save()) {
return new ProductsResource($product);
}
}
如何在保存之前验证图像?它在 base64 中,我不知道如何在 laravel 上验证它。
【问题讨论】: