2017-10-17 23 views
1

因此,我在Laravel构建了一个应用程序,这是我第一次在没有任何互联网帮助的情况下使用该框架,所以我遇到了一些麻烦一些地区。其中之一就是我上传的图像似乎不可能让laravel找到并提供服务,即使它们正在上传到文件系统中的正确位置。我正在与代客合作研究当地的环境。另外,按照文档的指示,我已经在存储和公共之间建立了符号链接。Laravel - 找不到图像,尽管它在磁盘中。即使通过输入URL也无法访问它

下面是上传图像的代码:

$fileDir = 'public/enterprise/main'; 
$tempImage = request()->file('main_img'); 
$newImage = $tempImage->store($fileDir); 

这里是如何我试图把它叫做:

<div class="col-xs-8"><img src="{{ asset('storage/app/'.$enterprise->main_img) }}"></div> 

的URL laravel似乎试图达到的是:

http://vbi.dev/storage/app/public/enterprise/main/MgfjPKWL8DIFgHDrMccOCsOkZZH0QmFAsput07n5.jpeg 

最后,我的配置/文件系统文件:

<?php 
return [ 
    'default' => env('FILESYSTEM_DRIVER', 'local'), 
    'cloud' => env('FILESYSTEM_CLOUD', 's3'), 
    'disks' => [ 
     'local' => [ 
      'driver' => 'local', 
      'root' => storage_path('app'), 
     ], 
     'public' => [ 
      'driver' => 'local', 
      'root' => storage_path('app/public'), 
      'url' => env('APP_URL') . '/storage', 
      'visibility' => 'public', 
     ], 
     'img' => [ 
      'driver' => 'local', 
      'root' => storage_path('images') 
     ], 
     's3' => [ 
      'driver' => 's3', 
      'key' => env('AWS_KEY'), 
      'secret' => env('AWS_SECRET'), 
      'region' => env('AWS_REGION'), 
      'bucket' => env('AWS_BUCKET'), 
     ], 
    ], 
]; 

感谢您的关注。

+0

哪里文件'MgfjPKWL8DIFgHDrMccOCsOkZZH0QmFAsput07n5.jpeg'实际上在什么位置?提示,如果它是Linux,请转到您的项目根目录并执行“查找”。 -name MgfjPKWL8DIFgHDrMccOCsOkZZH0QmFAsput07n5.jpeg'。 – aynber

+0

返回./storage/app/public/enterprise/main/MgfjPKWL8DIFgHDrMccOCsOkZZH0QmFAsput07n5.jpeg –

+0

你有链接你的公共盘'php artisan存储:链接'这里所述https://laravel.com/docs/5.5/filesystem? –

回答

0

你应该通过唯一的文件夹,其中以在公共目录中的文件存储,而不包括public,并且可以指定一个这样的磁盘在矿井第二个参数:在视图

$fileDir = 'enterprise/main'; 
$tempImage = request()->file('main_img'); 
$newImage = $tempImage->store($fileDir, 'public'); 

,同样的事情资产方法将会被自动添加路径为您的公用文件夹:

<div class="col-xs-8"><img src="{{ asset($enterprise->main_img) }}"></div> 
+0

这工作,但我不得不改变我存储文件的位置,使用'公共'磁盘,像这样 - > $ newImage = $ tempImage-> store($ fileDir,'public'); –

+0

我更新了答案;)高兴地帮助:) – Maraboc

相关问题