Laravel 5.7存储:链接图像可以提供404的产量,但可以代客使用

时间:2018-11-11 14:28:16

标签: laravel laravel-5

我是Laravel的新手,正在从事一个项目,试图解决仅在storage/app/images及其子目录中保留图像的问题。我以为我已经按照documentation完成了此操作,并且它在Valet下运行的本地环境中按预期工作。但是,当我将其升级到我的Web服务器时,没有显示正在运行的Nginx和php-fpm图像,如果单击链接,则会出现404错误。

这是filesystem.php的磁盘部分

   'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],

        'images' => [
            'driver' => 'local',
            'root' => storage_path('app/public/images'),
            'visibility' => 'public',
        ],

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
        ],

        'carousel' => [
            'driver' => 'local',
            'root' => storage_path('app/public/images/carousel'),
            'visibility' => 'public',
        ],

    ],

以下是视图中的相关代码:

@php
/* Grab a list of all images to dynamically display */
$files = Storage::disk('carousel')->files();
@endphp

<div class="flex-center position-ref">
    <div class="content">
        <div class="empty">
        </div>
        <div class="box-left">
            @include('partials/obit')
        </div>
                        <!-- Carousel Start  -->
        <div class="box-right">
             <div id="carouselExampleSlidesOnly" class="carousel slide" data-ride="carousel" data-interval="5000" data-pause="hover">
              <div class="carousel-inner">
                @for($i=0; $i < count($files); $i++ )
                    @if ($i == 0)
                    <div class="carousel-item active">
                    @else
                    <div class="carousel-item">
                    @endif  
                    <img src="{{asset('images/carousel') . '/' . $files[$i] }}">
                </div>
                @endfor
             </div>

当我在页面上查看源代码时

<div class="carousel-item active">
<img src="http://www.example.com/images/carousel/01.jpg">
</div>
class="carousel-item">
<img src="http://www.example.com/images/carousel/03.JPG">

,但是单击那些链接会得到404。我要使其在生产环境中工作的唯一方法是在/images/carousel/下创建一个app/public目录,并在其中复制小于非常理想,因为它可以复制文件和工作。

知道我在做什么错吗?

0 个答案:

没有答案