当我删除指向storage / images文件夹的快速链接时,laravel文件上传出错

时间:2019-03-06 10:04:50

标签: php laravel laravel-blade

我的文件上传(图像)有问题。我的脚本可以以某种方式阅读我的文章并将其放在显示页面上,但不想将图像插入文件夹中。

数据库中的所有内容都可以正常工作,您可以看到所有内容都已提交,但是在将图像插入到storage / cover_images文件夹中时,它并没有放入其中。在删除快速链接(PHP artisan storage:link)到存储文件夹后,它不再起作用了。我无法添加回去,因为我与从GitHub提取项目的同事一起工作,并且快速链接是本地的,因此,它只能在我的计算机上工作。

要清除:

我唯一想要的是将我的图像插入到public / storage / cover_images文件夹中。

我的网站没有返回错误,而是将所有内容插入数据库。唯一需要修复的是将我的图像保存到public / storage / cover_images文件夹中。

在我的ArticleController中:

public function update(Request $request)
{

    if($request->hasFile('cover_image')){

        $filenameWithExt = $request->file('cover_image')->getClientOriginalName(); 

        $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);

        $extension =  $request->file('cover_image')->getClientOriginalExtension();

        $fileNameToStore = $filename . '_' . time() .'.'. $extension;

        $path = $request->file('cover_image')->storeAs('/public/storage/cover_images', $fileNameToStore);

    }else{

        $fileNameToStore = 'noimage.jpg';

    }

show.blade.php(效果很好):

<div class="row">
            <div class="artikelfoto marginauto col-md-6 offset-md-3 mt-3 mb-3">
            <img class="img-fluid" src="/storage/cover_images/{{$artikel->cover_image}}" style="width:100%">
                <p style="font-size:.75em; color:#b4b4b4">{{$artikel->source}}</p>
            </div>

具有路径的公用文件夹:

enter image description here

数据库(您可以看到所有内容都已插入):

enter image description here

有人以前遇到过这个问题吗?任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

如果您没有ssh访问权限,则只需创建一条路由即可,因此只需点击url即可点击此命令

Route::get('/artisan/storage', function() {
    $command = 'storage:link';
    $result = Artisan::call($command);
    return Artisan::output();
})