我在Laravel 9应用程序中显示图像时遇到问题。
设置如下:
此行存储用户的个人资料图片:
第一个月
剖面现场数据示例:'profilepics/jeG2zk5yfKIGhRx9KKHm9somelongname.png'
个
下面的代码在我的视图中显示图片。
<img
class="w-48 mr-6 mb-6"
src="{{$tprofile->profilepic ? asset('storage/'.$tprofile->profilepic) : asset('images/no-image.png')}}"
alt=""
/>
字符串
我已经在应用程序的文件夹上运行了'php artisan storage:link'
。
安装程序在我的计算机上运行良好,但当我上传:
**1)**现有的(从我的PC上传的)配置文件图片会按需要显示在我的视图中。
**2)**如果我更新个人资料图片,它不会在我的视图中显示新图片,使用以下代码:
<img
class="w-48 mr-6 mb-6"
src="{{$tprofile->profilepic ? asset('storage/'.$tprofile->profilepic) : asset('images/no-image.png')}}"
alt=""
/>
型
将路径更改为此也不起作用:<?php $imageSrc = storage_path('app/public/' . $tprofile->profilepic); ?>
个
**3)**如果我使用下面的代码生成包含图片的pdf,它会显示更新后的图片,这意味着更新成功。
@if ($tprofile->profilepic)
<?php $fullpath = storage_path('app/public/' . $tprofile->profilepic); ?>
<img
class="w-48 mr-6 mb-6 mt-6"
src="data:image/png;base64,
<?php echo base64_encode(file_get_contents($fullpath)); ?>"
width="150px"
/>
@endif
型
请帮帮我
我期望图像显示在托管的应用程序中,就像在我的PC上发生的那样,或者至少根本不显示,但相反,它们在某些情况下显示。
1条答案
按热度按时间ut6juiuv1#
我终于找到了解决办法:
这是有效的:
我的应用程序在子域中。
已从“public_html”文件夹中删除“storage”
在我的路由文件web.php中添加了这样的路由(注意绝对路径)。
字符串
然后我去了mysub.domain.com/create-symlink。
就是这样!