在我的本地机器上的项目工作文件,但当我上传到我的服务器上,然后所有的图像都不显示,和NotFoundHttpException错误时,我击中完整的图像路径浏览器。
我的项目路径为
/public_html/offlinemall/public
字符串
下面是我的文件系统. php
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => env('AWS_KEY'),
'secret' => env('AWS_SECRET'),
'region' => env('AWS_REGION'),
'bucket' => env('AWS_BUCKET'),
],
'featured' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
],
型
以及我如何获得图像
<img style="height: 480px" src="storage/{{ $ad->avatar }}">
型
在inspect我得到完整的路径,但当我击中URL,然后我得到NotFoundHttpException错误。
http://compare.theofflinemall.com/storage/featured_image/qzHWpQeSfKjZ6DOS59ROyYboJ1GCvVi6NNVfLtVV.jpeg
型
4条答案
按热度按时间jhdbpxl91#
基本上它有符号问题。可能你已经使用了存储目录来存储图像。如果你使用它,你需要通过
php artisan storage:link
创建一个符号链接。它会创建一个符号目录到你本地项目的公共目录中,并带有存储名称。当你在服务器上上传项目时,符号目录不会与你的项目一起上传。所以,合理的浏览器不会得到路径,不显示图像。在这些Angular 有很多解决方案:**解决方案一:**ssh key访问,如果你有你的服务器的ssh key访问,使用ssh key登录你的服务器,进入你的项目目录,运行命令
php artisan storage:link
它会创建符号目录到你的项目。**方案二:**在服务器端创建cron job。
**解决方案三:**通过执行php脚本创建符号链接,请通过此链接cron job and php file execution。
**解决方案四:**通过在config/filesystem.php中更改镜像路径的根目录,请通过此url laracast.com
xqnpmsa82#
您的服务器无法将
storage
定位为路径,因为它使用public_path
运行字符串
应该可以的。另外,
型
olmpazwi3#
您可以将图像标签更改为:
1.第一个月
<img src="storage/app/public/{{$ad->avatar) }}" />
个<img src="<?php echo asset("storage/app/public/$ad->avatar")?>"></img>
个gg58donl4#
如果你已经做了所有这些,试试这个:
检查你的.env文件和APP_URL值:它应该是https://[yourwebsite.com] -有些人忘记从默认的本地主机更改它或提供不正确的URL与额外的文件夹/子域