【问题标题】:Upload a picture to database with laravel使用 laravel 上传图片到数据库
【发布时间】:2020-03-26 06:13:23
【问题描述】:

我在 localhost 中创建了一个数据库,并在其中创建了一个名为 gallery 的表。我想在那里上传和存储图片,但我卡住了。你能给我任何指南或教程吗?谢谢。

【问题讨论】:

  • 你需要添加一些你到目前为止所做的代码
  • 你必须展示你写的代码,网上也有很多例子和视频你只需要googlehow to upload photo in laravel

标签: database laravel image upload


【解决方案1】:

上传文件参考laravel document

例如照片是表单中的文件名

<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 存储到您的数据库中

【讨论】:

    【解决方案2】:

    首先,您需要在视图中显示表单(不要忘记 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);
    }
    

    【讨论】:

      猜你喜欢
      • 2020-12-07
      • 2015-04-10
      • 1970-01-01
      • 1970-01-01
      • 2013-04-22
      • 2012-07-08
      • 1970-01-01
      相关资源
      最近更新 更多