laravel post 上传图片

本文介绍了一种使用JavaScript和PHP实现的表单POST提交图片的方法。通过前端JavaScript处理文件选择事件并预览图片,利用localResizeIMG插件进行图片压缩,再将压缩后的Base64编码图片字符串传递给后端。后端接收这些字符串并将其转换为图片文件保存。

表单post提交图片

    <script>
    $(document).ready(function(e) {
       $('#uploadphoto').localResizeIMG({
          width: 400,
          quality: 1,
          success: function (result) {  
              var submitData=result.clearBase64;
                    var attstr= '<div  id="imgboxs"><img src="https://img-blog.csdnimg.cn/2022010707003425946.jpeg'+submitData+'" style="width:100%;height:200px"><input type="hidden" name="base64_string" value='+submitData+' /></div>';
                    document.getElementById('imglist').innerHTML = "";
                    $(".imglist").append(attstr);
                    return false;
          }
      });
    }); 
    </script>
<form action="{{ URL('index/edit_cheak') }}" method="post" enctype="multipart/form-data">
    <input type="hidden" name="_token" value="{{ csrf_token() }}"/>
    <div style="width:100%;margin:10px auto; border:solid 1px #ddd; overflow:hidden; ">
        <input type="file" id="uploadphoto" accept="image/*" capture="camera" name="uploadfile" value="请点击上传图片"   style="display:none;" /> 
     <a href="javascript:void(0);" onclick="uploadphoto.click()" class="uploadbtn">请点击上传图片      </a>
        <div class="imglist" id="imglist"></div> 
       
    </div>
    <input type="submit" value="提交" style="-webkit-appearance:none;"  id="tijiao"/>
</form>
      public function edit_cheak(Request $request){
        $username=$request->session()->get('username');
        $shop=DB::table('shop')->where('username',$username)->first();
        $input=Input::all();
        if (isset($input['base64_string'])) {
            foreach ($input['base64_string'] as $key => $v) {
                $savename = date('YmdHis',time()).mt_rand(0,9999).'.jpeg';//localResizeIMG压缩后的图片都是jpeg格式
                $url_i="Upload/".date('Y-m-d',time()).'/';
                $imgdirs = "huogou/public/".$url_i;
                // $imgdirs = "Upload/".date('Y-m-d',time()).'/';
                mkdirs($url_i);
                $imgurls = $_SERVER['DOCUMENT_ROOT'].'/'.$imgdirs;
                $image = base64_to_img( $v, $imgurls,$savename );
                $data['savepath'] = $url_i;
                $imgname[] = $savename;
            }
            $data['image']=implode("||",$imgname).'||';
            if ($shop->image) {
                $imgs=explode("||",$shop->image);
                unset($imgs[count($imgs) - 1]);
                foreach ($imgs as $key => $va) {            
                    $old_urls = $_SERVER['DOCUMENT_ROOT'].'/huogou/public/'.$shop->imgurl.$va;  
                    $old_urls1 = $_SERVER['DOCUMENT_ROOT'].'/huogou/public/'.$shop->imgurl.'thumb/'.$va;  
                    if (file_exists ( $old_urls ) && file_exists ( $old_urls1 ) ) {
                        unlink ( $old_urls );
                        unlink ( $old_urls1 );
                    }
                }
            }
        }
            $dat = DB::table('shop')->where('id',$shop->id)->update($data);
            if ($dat) {
                return view('Index/bj_sucess')->with('shop_bj','1');
            }else{
                return "<script>javascript :history.back(-1);</script>";
            }
    }

 

转载于:https://my.oschina.net/jmk/blog/911548

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值