apache Laravel上传的图像未显示,但链接存储正常

jm2pwxwz  于 2023-03-03  发布在  Apache
关注(0)|答案(2)|浏览(168)

我正在用cyberpanel上传两个项目到我的ubuntu服务器(其中一个是https://simplycar.es/storage/fotos/1677542768-WhatsApp%20Image%202023-02-28%20at%2001.03.28.jpeg
两者都在Laravel,并使用相同的方式上传图像。
上传方式:

if (is_uploaded_file($request->file('foto'))) {
        $picture = time() . "-" . $request->file('foto')->getClientOriginalName();
        $request->file('foto')->storeAs('public/fotos', $picture);
    }

我已经有另一个使用相同结构运行的项目来上传图片,它工作正常(https://chaincapitals.com/storage/logos/1669744070-C5l3mHJg_400x400.png)。
但这两个新项目并不适用于上传的图片,它们不会出现在URL(app. URL/(image-name))中,也不会显示在网站上。
我像往常一样写下这些图片的路线:

{{asset('storage/fotos/'. \App\Models\Image::where('idCar' , $car->id)->first()->imagen)}}

存储链接是工作的,因为,在我的FTP应用程序,它出现。
我尝试重新生成符号链接,也从一个.PHP文件生成它。
另外,我尝试了权限设置,我尝试了以下两种设置:

chmod -R o+w storage
chmod -R o+w bootstrap/cache

此外,我还尝试了在其他主题中看到的一些其他命令。

8ljdwjyq

8ljdwjyq1#

我不确定,当然。作为一个大胆的猜测,检查你的许可,因为你说它在另一个项目工作。

sudo chown -R www-data:www-data storage/
sudo chmod -R 775 storage/

# finally 
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
ne5o7dgx

ne5o7dgx2#

在@Abdula Nilam的回答之后,我得到了以下错误:
无法在附加模式下打开流或文件"/home/www.example.com ":simplycar.es/public_html/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream:
我想是因为存储文件夹的权限。
我修复了它:sudo chmod-读取+写入存储
在此之后,我得到了我的应用程序正常工作。

相关问题