[英]Upload a picture to database with laravel
我在 localhost 中创建了一个数据库,并在其中创建了一个名为 Gallery 的表。 我想在那里上传和存储图片,但我卡住了..你能给我任何指南或教程吗? 谢谢。
上传文件只是参考laravel文档
例如 photo 是表单中的名称 fo 文件
<form action="xxx" method="post" enctype="multipart/form-data">
<input type="file" name="photo" />
<input type="submit" value="update" />
</form>
存储文件然后在文件系统中返回文件的路径
$path = $request->photo->storeAs('images', 'filename.jpg');
$path = $request->photo->storeAs('images', 'filename.jpg', 's3');
然后将 $path 存储到您的数据库
首先,您需要视图中的表单(不要忘记 csrf 令牌):
<form action="/image-upload" method="POST" enctype="multipart/form-data">
@csrf
<input type="file" name="image">
<button type="submit">Upload</button>
</form>
并在您的路由文件中为 POST 方法添加路由:
Route::post('image-upload', 'ImageUploadController@imageUploadPost');
然后在您的控制器上创建将验证您的图像并将其移动到
'public/images'
文件夹的函数。
public function imageUploadPost()
{
request()->validate([
'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
]);
$imageName = time().'.'.request()->image->getClientOriginalExtension();
request()->image->move(public_path('images'), $imageName);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.