干预图像laravel中的错误路径

时间:2016-12-05 01:37:00

标签: laravel

按照教程我这样做了:

 public function store(Request $request)
    {

        $file = Input::file('imagen1');
        $image = \Image::make(\Input::file('imagen1'));
        $path = public_path().'/thumbnails/';

        $image->save($path.$file->getClientOriginalName());
        $image->resize(null, 300, function ($constraint) {
            $constraint->aspectRatio();
        });
        $image->save($path.'thumb_'.$file->getClientOriginalName());

        $thumbnail = new Thumbnail();
        $thumbnail->image = $file->getClientOriginalName();
        $thumbnail->save();

        $request->user()->propiedades()->create($request->all());
        return redirect('profile#propiedades');
    }

我的问题是图像是在“时间”路径中保存而不是真实路径。所以,当我去我的桌子'Propiedades'它只是显示这个:

introducir la descripción de la imagen aquí

正确的方向就是这个

introducir la descripción de la imagen aquí

所以我的问题是如何使干预图像保存真实路径?提前致谢

更新

确定。现在感谢Nazmul Hasan,我在我的数据库中看到了这一点。 唯一剩下的就是它保存了文件的名称。所以我可以去我的刀片做{{$ propiedades-> imagen1}} 谢谢!

enter image description here

更新2

$file = Input::file('imagen1');
        $ext = time() . '.' . $file->getClientOriginalExtension();
        $path = public_path('thumbnails/' . $ext);
        $image = \Image::make(\Input::file('imagen1'));


        $image->save($path.$file->getClientOriginalName());
        $image->resize(400, null, function ($constraint) {
            $constraint->aspectRatio();
        });
        $image->save($path.'thumb_'.$file->getClientOriginalName());

        $thumbnail = new Thumbnail();
        $thumbnail->image = $file->getClientOriginalName();
        $thumbnail->save();

        $inputs = $request->all();
        $inputs['imagen1'] = $path;
        $request->user()->propiedades()->create($inputs);

        return redirect('profile#propiedades');

现在它拯救了正确的IMG路径,但图像并没有保存完好

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

你的问题就在这一行

 $request->user()->propiedades()->create($request->all());

您不会在 $ request 变量中更新图片上传路径 因此 $ request-> all()保存临时图片路径 你可以试试这个

$file = Input::file('imagen1');
$image = \Image::make(\Input::file('imagen1'));
$path = public_path().'/thumbnails/';

$image->save($path.$file->getClientOriginalName());
$image->resize(null, 300, function ($constraint) {
    $constraint->aspectRatio();
});
$image->save($path.'thumb_'.$file->getClientOriginalName());

$thumbnail = new Thumbnail();
$thumbnail->image = $path.'thumb_'.$file->getClientOriginalName();
$thumbnail->save();

$inputs = $request->all()
$inputs['imagen1'] = $path.$file->getClientOriginalName();
$request->user()->propiedades()->create($inputs);

return redirect('profile#propiedades');