我有一个共享主机,我只能通过Cpanel访问。
但是我有一个小问题,因为没有显示上传的图像。
有人知道如何解决吗?
保存图片的代码
$request->picture->storeAs('public/upload/authors', $filename);
查看图片的代码
<img src="{{ asset('storage/upload/authors/'.$author->picture.'') }}" width="75" height="75">
有人知道这会是什么吗?
答案 0 :(得分:0)
尝试提交表单时遇到错误?上网浏览上传的图片时遇到404错误吗?听起来上传文件夹的权限不足,无法存储上传的图片。尝试将上传文件夹的权限设置为775。
有关CHMOD的更多信息:http://www.stadtaus.com/en/tutorials/chmod-ftp-file-permissions.php
答案 1 :(得分:0)
检查您上传的图片是否出现在/public/upload/authors
目录的使用范围下:
<img src="{{ asset('upload/authors/'.$author->picture.'') }}" width="75" height="75">
如果您上传的图片显示在/storage/app/public/upload/authors
目录下,请使用:
<img src="{{ Storage::get('public/upload/authors/'.$author->picture.'') }}" width="75" height="75">
P.S。抱歉,我不记得storeAs函数到底存储在哪里:在公共还是在存储中:)
注意! asset()函数从app/public
文件夹中获取文件url,但是Storage :: get()从app/storage/app
文件夹中获取文件
答案 2 :(得分:0)
我以这种方式解决了我的问题。在公用文件夹中,我使用以下代码创建了一个名为symlink.php
的文件。
<?php
symlink('/home/server_name/project_app_folder/storage/app/public',
'/home/server_name/public_html/storage');
我删除了storage
中的文件夹public_html
,并将我的.php
文件上传到public_html
中。然后,我通过访问域example.com/symlink.php
的域来运行代码。最后,服务器创建一个链接到项目存储文件夹的文件夹。