微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

本地主机上 Laravel 8 中的存储链接问题

如何解决本地主机上 Laravel 8 中的存储链接问题

  • Laravel 版本:8.35.1
  • PHP 版本:8.0.0

说明:

我正在使用此代码使用 laravel 上传图像:

$product_image = $request->file('product_image');
$product_image_extension = $product_image->extension();
$product_image_name = time() . '.' . $product_image_extension;
$product_image->storeAs('/media/product_images',$product_image_name);
$model->product_image = $product_image_name;

一切正常,文件上传到 storage/app/media/product_images/。

然后,我运行命令

PHP artisan storage:链接

公开创建符号链接。 命令执行如下:

Local NTFS volumes are required to complete the operation.
The [E:\Complete Programming Bootcamp\laravel Work\ecom-project\cyber_shopping\public\storage] link 
has been connected to [E:\Complete Programming Bootcamp\laravel Work\ecom- 
project\cyber_shopping\storage\app/public].
The links have been created.

我正在使用此代码显示图像:

{{asset('storage/media/product_images/' . $list->product_image)}}

但是图片没有显示在前端。

此外,未在公用文件夹中创建存储文件夹。 请帮帮我。

谢谢

解决方法

步骤 1:: 存​​储图片

$path = ‘’;
if( $request->has('product_image') ) {
    $path = $request->file('product_image')->store('media/product_images');
}
$model->product_image = $path;

步骤 2:: 检查存储文件路径

文件将存储在路径中::

——————————————————————————————————————

Storage/app/public/media/product_images/

步骤 3:: 在公共文件夹中链接存储

运行存储链接命令并从公共中删除存储链接文件夹(如果已经存在)

php artisan storage:link

第 4 步:创建全局函数以访问图像 Main Controller.php 文件创建全局存储图像像这样获取函数

public static function getUrl($path)
{
    $url = "";
    if( !empty($path) && Storage::disk('public')->exists($path) )
        $url = Storage::url($path);
    return $url;
}

步骤 5:: 在 Assest 中使用函数来显示图像

<img src="{{ getUrl($list->product_image) }}" />
,

根据 https://github.com/photoncms/cms/issues/8,您尝试在 fat32 驱动器上进行符号链接,但它在该驱动器上不起作用。尝试在 NTFS 驱动器上测试

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。