首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义变量: image_name Laravel 5.4

未定义变量: image_name Laravel 5.4
EN

Stack Overflow用户
提问于 2019-07-11 10:46:06
回答 3查看 532关注 0票数 0

我想上传和显示图像,但得到错误未定义的变量: image_name

这是我的控制器

代码语言:javascript
复制
$supply = new DataSupplyProcess;
    if($request->hasFile('supply_photo')){
            $photo = Validator::make($request->all(), [
                'supply_photo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
        ]);
    if($photo->fails()){
                return redirect()->back()->with('warning', 'Image size should be 2MB or less');
        }            
        $image = $request->file('supply_photo');
        $image_name = rand().'.'. $image->getClientOriginalExtension();
        $destination_path = public_path('/item');
        $image->move($destination_path, $image_name);
        //dd($image);

    }
        $supply->item = $request->item;
        $supply->supply_details = $request->supply_details;
        $supply->tgl_request_date = $request->tgl_need_date;
        $supply->tgl_need_date = $request->tgl_need_date;
        $supply->employee_id = $id;
        $supply->id_approved_by = $manager->employee_manager_id;
        $supply->is_approved = 0;
        $supply->is_final_approved = 0;
        $supply->supply_photo = $image_name;
        $supply->save();

这是我的观点

代码语言:javascript
复制
  <label for="supply_photo">Photo</label>
        <form action="" method="post" enctype="multipart/form-data">
          <input type="file" class="form-control" name="supply_photo">
EN

回答 3

Stack Overflow用户

发布于 2019-07-11 11:18:57

在您的控制器中,尝试执行以下操作:

代码语言:javascript
复制
if(Input::file('supply_photo') !== null){
    $photo = Validator::make($request->all(), [
        'supply_photo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
    ]);
    ...
}

我认为this post可以提供更多信息

票数 0
EN

Stack Overflow用户

发布于 2019-07-11 12:00:45

当你像这样用传递变量时,如果是条件,首先指定默认值。因此,如果未选择图像,则不会出现错误。

在你的原因检查之前,你有没有得到图像

代码语言:javascript
复制
dd($image = $request->file('supply_photo'));

$image_name = NULL;

if($request->hasFile('supply_photo')){

        $image = $request->file('supply_photo');
        $image_name = rand().'.'. $image->getClientOriginalExtension();
        $destination_path = public_path('/item');
        $image->move($destination_path, $image_name);

}

$supply->supply_photo = $image_name;
$supply->save();
票数 0
EN

Stack Overflow用户

发布于 2019-07-11 13:01:28

代码语言:javascript
复制
$supply = new DataSupplyProcess;

if($request->hasFile('supply_photo')){
        $photo = Validator::make($request->all(), [
            'supply_photo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
        ]);

         if($photo->fails()){
            return redirect()->back()->with('warning', 'Image size should be 2MB or less');
         }  

         //$original_name=$request->file('supply_photo')->getClientOriginalName();
         //$size=$request->file('supply_photo')->getSize();
         $extension=$request->file('supply_photo')->getClientOriginalExtension();
         $filename=uniqid().'.'.$extension;
         $imagepath=url('/item/'.$filename);
         $path=$request->file('supply_photo')->storeAs(public_path('/item'),$filename);



}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56980968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档