幼虫图像以" / private / var / tmp /"

时间:2018-04-15 16:34:22

标签: php image laravel upload

我试图在我的laravel项目中存储图像。但是我遇到了问题。

将图像作为文件名添加到/ public / images文件夹中,但当请求到达数据库时,它会添加为/ private / var / tmp / XXXXX。

我试过设置$ request->文件作为名称,但它仍然作为var / temp发布。

继承控制器代码;

  public function store(Request $request)
{
  $rules = [
  //  'address' => 'required',
  //  'city' => 'required',
  //  'postcode' => 'required',
  //  'restDesc' => 'required',
  //  'telNumb' => 'required',
  //  'resWebsite' => 'required',
  //  'restDesc' => 'required',
  //  'business_id' => 'unique:busprofiles,business_id',
  ];

  $customMessages = ["Message"];



if( $request->hasFile('file'))
{
  $request->file->store('public/uploads');
  $filename = $request->file->getClientOriginalName();
  $filesize = $request->file->getClientSize();
  $request->file = $request->file->storeAs('public/uploads',$filename);
}

$this->validate($request, $rules, $customMessages);
Busprofile::create($request->all());
return redirect()->route('business.dashboard')
                 ->with('success','Profile created successfully');
}

提前致谢!

如果有帮助;

return $request->file;

返回正确的网址

1 个答案:

答案 0 :(得分:1)

问题出在Busprofile::create($request->all());。您确实使用$filename = $request->file->getClientOriginalName();获取原始文件名,但您的请求保持不变。

根据数据库需要手动为数据库条目创建数组。

$data = ['filename' => $request->file->getClientOriginalName(), 
           ...,
        ];

Busprofile::create($data);