图像未在Mac上显示

时间:2019-05-27 03:37:57

标签: laravel laravel-5 file-upload

我已经使用laravel建立了一个简单的文件上传系统。 为了存储图像,我将控制器设置为

public function store(Request $request)
{
    $menu = new Menu;
    $menu->title = $request->get('menuTitle');
    $menu->user_id = Auth::id();


    if($request->hasFile('menuImage')){
        $filenameWithExt = $request->file('menuImage')->getClientOriginalName();
        $fileName = pathinfo($filenameWithExt,PATHINFO_FILENAME); 
        $ext = $request->file('menuImage')->getClientOriginalExtension();

        $fileNameToStore = $fileName.'_'.time().'.'.$ext;
        $path = $request->file('menuImage')->storeAs('public/menu',$fileNameToStore); 
    }
    else{
        $fileNameToStore = 'blank.jpg';
    }
    $menu->image_name = $fileNameToStore;
    $menu->save();
    return redirect(route('menu.create'))->with('success',$menu->title." Added successfully");

}

在视图中,我将其设置为

<a href="#">
      <img class="img-fluid rounded mb-3 mb-md-0"  src={{asset("/storage/menu/".$menu->image_name)}} alt="">
    </a>

在浏览器中,链接为

<img class="img-fluid rounded mb-3 mb-md-0" src="http://127.0.0.1:8000/storage/menu/Screenshot_20190517_023111_1558916284.png" alt="">

在开发过程中,我正在研究ubuntu,并且一切正常。但是,我将文件传输到了Mac,使用xampp,我可以使一切正常运行。但是,图像不再加载。检查控制台时出现404错误。但是,图像可以上传到正确的文件夹。

1 个答案:

答案 0 :(得分:0)

您应该运行php artisan storage:link,以便将storage/app/public链接到public/storage目录,并且链接将再次起作用