当前位置 主页 > 网站技术 > 代码类 >

    laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子

    栏目:代码类 时间:2019-11-14 21:07

    首先先看下效果图

    这是添加的时候 可以上传照片

    这是编辑的时候 可以修改照片

    代码部分:

    先看控制器:

    /***
       * 添加商户
       * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
       */
      public function add()
      {
     
        $data = null;
        return _view('admin.merchant.merchant.edit', compact('data'));
      }
     
      /***
       * 添加商户
       * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
       */
      public function store(StoreMenchantRequest $request)
      {
        //判断手机号是否重复 重复不能添加
        //后面开发可能会去掉这个判断
        $merchant = Merchant::where('mobile', $request->mobile)->first();
        if (!empty($merchant)) {
          return back()->withErrors('该用户已存在');
        }
        $token = str_random(60);
        $api_token = $this->getToken($token);
        $newMerchantData = [
          'mobile' => $request->mobile,
          'api_token' => $api_token,
        ];
        DB::beginTransaction();
        $newMerchant = Merchant::create($newMerchantData);
        $newData = [
          'merchant_id' => $newMerchant->id,//Merchantid
          'merchant_principal' => $request->merchant_principal,//负责人
          'merchant_name' => $request->merchant_name,//商家名称
          'merchant_short_name' => $request->merchant_short_name,//商家简称
          'merchant_address' => $request->merchant_address,//商家地址
          'business_num' => $request->business_num,//注册号
          'business_address' => $request->business_address,//营业地址
          'business_name' => $request->business_name,//营业执照名称
          'business_person' => $request->person,//营业执照法人
          'identity_name' => $request->person,//身份证姓名
          'identity_num' => $request->identity_num,//身份证号
        ];
        //上传缩略图
        $input = $request->all();
        if (isset($input['file']) && is_object($input['file'])) {
     
          $file_name = save_image_file($input['file'], 'merchant_infos');
          if (!$file_name) {
            return back()->with('msg', '图片上传失败,请重试!');
          }
    //      dd($file_name);
          $input['thumbnail'] = $file_name;
          unset($input['_token']);
          unset($input['file']);
        } else {
          return back()->with('msg', '请上传图片');
        }
        //上传内景图1
        if (isset($input['image1']) && is_object($input['image1'])) {
     
          $file_name_1 = save_image_file($input['image1'], 'merchant_infos');
          if (!$file_name_1) {
            return back()->with('msg', '图片上传失败,请重试!');
          }
     
          $input['interior_figure_one'] = $file_name_1;
          unset($input['_token']);
          unset($input['image1']);
        } else {
          return back()->with('msg', '请上传图片');
        }
        //上传内景图2
        if (isset($input['image2']) && is_object($input['image2'])) {
     
          $file_name_2 = save_image_file($input['image2'], 'merchant_infos');
          if (!$file_name_2) {
            return back()->with('msg', '图片上传失败,请重试!');
          }
          $input['interior_figure_two'] = $file_name_2;
          unset($input['_token']);
          unset($input['image2']);
        } else {
          return back()->with('msg', '请上传图片');
        }
        //上传内景图3
        if (isset($input['image3']) && is_object($input['image3'])) {
     
          $file_name_3 = save_image_file($input['image3'], 'merchant_infos');
          if (!$file_name_3) {
            return back()->with('msg', '图片上传失败,请重试!');
          }
          $input['interior_figure_three'] = $file_name_3;
          unset($input['_token']);
          unset($input['image3']);
        } else {
          return back()->with('msg', '请上传图片');
        }
     
        $merchantInfo = MerchantInfo::where('merchant_id', $newMerchant->id)->first();
        if (!empty($merchantInfo)) {
          return back()->withErrors('该用户已录入信息');
        }
        $homestayInfo = HomestayInfo::where('merchant_id', $newMerchant->id)->first();
        if (!empty($homestayInfo)) {
          return back()->withErrors('该用户已录入信息');
        }
        //录入商户信息
        $newData['thumbnail'] = $input['thumbnail'];
        $newData['interior_figure_one'] = $input['interior_figure_one'];
        $newData['interior_figure_two'] = $input['interior_figure_two'];
        $newData['interior_figure_three'] = $input['interior_figure_three'];
        $newData['content'] = $input['content'];
        $newMerchantInfo = MerchantInfo::create($newData);
        $newHomestayInfo = HomestayInfo::create($newData);
        if ($newMerchantInfo && $newHomestayInfo && $newMerchant) {
          DB::commit();
          admin_action_logs($newMerchant, "添加商户成功");
          return redirect()->route('admin.merchant.index')->with('msg', '添加成功');
        } else {
          DB::rollback();
          return back()->withErrors('添加失败,请联系管理员');
        }
     
     
      }