【问题标题】:How to store image path in database - using laravel如何将图像路径存储在数据库中 - 使用 laravel
【发布时间】:2019-04-17 06:49:40
【问题描述】:

目前我可以将文件名存储在数据库和 laravel 的公共文件夹中,但我想将文件路径存储在数据库中?

我的控制器:

$image=$userProfile['image'];
$image1 = base64_decode($image);
$filename = time().'.'.$extension;
Storage::disk('public')->put($filename,$image1);
$this->user->where('id', Auth::user()->id)->update(['profile_pic' => $filename]);

如何将图像路径存储在 laravel 中,图像名称存储在公共文件夹中?我正在使用 base64 以 json 格式发送图像。

您的帮助将不胜感激?

【问题讨论】:

  • 您应该将路径命名为['profile_pic' => $filePath.$filename],尽管我不建议将路径存储在数据库中以防以后更改。如果它发生变化,您必须修改所有记录。
  • 你能编辑我的代码吗?

标签: php laravel image base64


【解决方案1】:

用途:

$image = $userProfile['image'];
$image1 = base64_decode($image);
$filename = time().'.'.$extension;
Storage::disk('public')->put($filename,$image1);    
$filePath = Storage::disk('public')->getAdapter()->getPathPrefix();
$this->user->where('id', Auth::user()->id)->update(['profile_pic' => $filePath.$filename]);

【讨论】:

  • 你从哪里得到变量 $extension ?
【解决方案2】:

首先输入这个命令:

php artisan storage:link

它将创建一个指向公共文件夹的符号链接。

在你的控制器中,你可以这样写:

if ($request->file('image')) {
    $file = $request->file('image')->store('images', 'public');
    $new_product->image = $file;
 }

此代码将插入包含路径的随机字符串,因此您可以在图像列值“images/shgsqwerfsd.jpg”上添加类似的内容

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-03
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    相关资源
    最近更新 更多