图片上传成功,但它没有在Laravel上显示正确的路径

时间:2017-07-06 16:55:28

标签: php laravel

我正在我的表单上上传图片,然后使用库调整大小。我可以上传图片没问题,这是我的代码:

public function store()
{
    $this->validate(request(),[

        'title'=>'required',
        'body'=>'required|min:5 ',
        'photo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048'
    ]);



    $image = request()->file('photo');

    $fileName = $image->getClientOriginalName();

    $publicPath = 'images/';
    $image_resize = Image::make($image->getRealPath());
    $image_resize->resize(1200, 800);

    $image_resize->save($publicPath.$fileName);

        auth()->user()->addPost(new Posts( [
        'title'=>request('title'),
        'body'=>request('body'),
        'photo'=> $fileName

    ]));



    return redirect('/');
}

我的问题是图片没有显示在我的前视图上。我试图删除调整大小仍然相同

1 个答案:

答案 0 :(得分:2)

这里的问题是,当你在数据库照片选项中保存帖子时,你只保存文件名,你应该将你的公共路径用图像路径连接起来:'photo'=> $publicPath.$fileName

$image = request()->file('photo');

$fileName = $image->getClientOriginalName();

$publicPath = 'images/';
$image_resize = Image::make($image->getRealPath());
$image_resize->resize(1200, 800);

$image_resize->save($publicPath.$fileName);

    auth()->user()->addPost(new Posts( [
    'title'=>request('title'),
    'body'=>request('body'),
    'photo'=>  $publicPath.$fileName

]));

所以现在尝试它应该工作。