我在Laravel项目中有一张图片上传表格。
我想将上传的图像保存到public/images/
位置。
但是图像上传到public/app/images
位置。
app
的发源地!
config / filesystem.php
'disks' => [
'local' => [
'driver' => 'local',
'root' => public_path(''),
],
'public' => [
'driver' => 'local',
'root' => public_path(''),
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => 'your-key',
'secret' => 'your-secret',
'region' => 'your-region',
'bucket' => 'your-bucket',
],
],
控制器
if($this->request->hasFile('photo'))
{
$image_url = $this->request->photo->store('/images/campaign/large');
$image = substr($image_url, strrpos($image_url, '/') + 1);
}
我在本地项目中应用了相同的代码。图片上传到正确的位置。
但是此问题在我的cPanel服务器项目中发生。我已经清除了实时服务器中的现金。
哪里出了错?
答案 0 :(得分:0)
我认为该Controller代码可以帮助您。
if($this->request->hasFile('photo'))
{
$image_url = $this->request->photo->store(public_path('images'));
$image = substr($image_url, strrpos($image_url, '/') + 1);
}
答案 1 :(得分:0)
如果您使用的是linux或mac os,也许可以使用chmod -R 777目录文件,或者因为昨天在我的办公室而无法清除缓存。
答案 2 :(得分:0)
我认为您错过了为存储路径创建符号链接的过程。 请点击以下链接:Larvel Public Disk
简而言之,您需要运行
php artisan storage:link