laravel应用程序不会保存图像,但会将其文件名存储到数据库中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel应用程序不会保存图像,但会将其文件名存储到数据库中相关的知识,希望对你有一定的参考价值。
所以我正在使用laravel和Intervention Image包。我的表单接受图片,将其名称保存到DB,但图片永远不会保存。为什么?
谢谢!
控制器:
public function store(Request $request)
{
$img=Image::make($request->file('slika')); //slika-name of input field, and Slike my desired folder.
$img->save('Slike');
$this->validate($request,[
'naziv'=>'required|string|max:30',
'mesto'=>'required|integer|max:4',
]);
$crs=new Crossroad();
$crs->naziv=$request->naziv; //the name of the crossroad
$crs->mesto=$request->mesto; //number of turns in it
$crs->slika=$request->slika; //picture's name(string in DB)
$crs->save();
return redirect('/crossroads/index');
}
答案
请试试这个:
if ($request->hasFile('slika')) {
$image = $request->file('slika');
$name = time().'.'.$image->getClientOriginalExtension();
$destinationPath = public_path('/path/to/');
$image->move($destinationPath, $name);
}
以上是关于laravel应用程序不会保存图像,但会将其文件名存储到数据库中的主要内容,如果未能解决你的问题,请参考以下文章
Linux 图像不会显示在主根文件夹中,但会显示在子文件夹中