【问题标题】:How to access image from storage如何从存储中访问图像
【发布时间】:2019-05-25 01:22:46
【问题描述】:

我有一个文件保存在 storage/app/uploads 中,我想保存这张图片并用 img src 标签显示。

但我做不到

我正在尝试:

public function getSlider(Request $request)
    {
        $slider = Slider::find( $request->input('id') );    
        $slider->imagem = storage_path('storage/app/uploads/'.$slider->imagem);

        return response()->json( $slider );
    }

我正在尝试用 jquery 和 javascript 显示

function getSliders() {
        $.ajaxSetup({
            headers: {'X-CSRF-TOKEN' : $('#token').val() }
        })
        $.ajax({
          url: "{{ route('site.getSlider') }}",
          type: "post",
          dataType: "json",
          data: {
            id: $('#id').val()
          }
        }).done( r  => {
             console.log('r',r)
             $('#description').val( r.description )
             setImage( r.image )
        })
    }

并设置图片

function setImage( image ){
    var newImage = document.createElement('img');
    newImage.setAttribute('src', image);        
    newImage.width = 500;
    newImage.heigth = 200;
    document.getElementById("photo").innerHTML = newImage.outerHTML;
}

当我想从 public/img 访问图像时,我使用

<img src="{{ URL('img/myImage.png') }}">

但我想从 storage/app/uploads 访问

【问题讨论】:

    标签: laravel storage


    【解决方案1】:

    这将返回文件路径(无 url)(如果您看到日志显示 /var/www.... 等)

    storage_path('storage/app/uploads/'.$slider->imagem);
    

    你应该使用asset helper来创建图片的URL

    asset( 'storage/app/uploads/'.$slider->imagem);
    

    在此之前,您需要运行此命令以从公用文件夹创建指向存储文件夹的符号链接。

    php artisan storage:link
    

    请试试这个,让我知道它是如何工作的 :)

    【讨论】:

    • url已经改了,但是还没有找到文件!
    • 你能转储网址吗?它看起来怎么样?你运行了工匠命令吗?
    • 是的,我运行命令。现在的网址是localhost:8000/storage/app/uploads/2018-12-26-manaus1.jpg
    • 上传图片时请尽量将图片保存在storage/app/public/uploads中。 storage 链接指向 storage/app/public。
    【解决方案2】:

    首先,运行这个命令:

    php artisan storage:link

    然后在任何视图中,您都可以在 url 帮助器的帮助下访问您的图像。

    url('storage/app/uploads');

    【讨论】:

      【解决方案3】:

      尝试将图像保存在公共文件夹而不是存储中 它很简单,您可以使用 public_path() 函数访问它。

      【讨论】:

        猜你喜欢
        • 2020-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-24
        • 1970-01-01
        • 1970-01-01
        • 2021-01-04
        • 2018-01-25
        相关资源
        最近更新 更多