zoukankan      html  css  js  c++  java
  • jaxFileUpload插件异步上传图片

    第一步:引入jquery文件和jaxFileUpload文件

    文件位置:https://pan.baidu.com/s/1jHEyIyy

    第二步,前端:

        <div class="form-group">
                        <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span class="text-danger"></span> 用户头像</label>
                        <div class="col-sm-9 col-xs-12">
                            <input type="file" name="avatar" id="avatar"  value=""/>
                            <input type="hidden" name="avatar_name" id="avatar_name"  value=""/>
    
                        </div>
                    </div>
    
                    <div class="form-group" id="img_form_group" style="<?php  if(!$member_common['avatar']){echo 'display:none';}?>">
                        <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span class="text-danger"></span> </label>
                        <div class="col-sm-9 col-xs-12">
                            <img width="100px;" <?php echo $member_common['avatar']?'src="/data/upload/member_avatar/'.$member_common['avatar'].'"':'';?> />
                        </div>
                    </div>
        function ajaxFileUpload() {
            $.ajaxFileUpload
            (
                {
                    url:'/index.php/admin/member/memberAjax?do=upload_avatar',
                    secureuri:false,
                    fileElementId:'avatar',
                    dataType: 'json',
                    success: function (data, status)
                    {
    
                        if(data.code !=1){
                            layer.msg(data.msg);
                        }else{
                            $('input[name="avatar_name"]').val(data.data.avatar_name);
                            $("#img_form_group").find('img').attr('src',data.data.avatar_url);
                            $("#img_form_group").show();
                        }
    
                        $('input[name="avatar"]').bind('change',uploadChange);
                    },
                    error: function (data, status, e)
                    {
                        layer.msg('上传失败');
                        $('input[name="avatar"]').bind('change',uploadChange);
                    }
                }
            )
        }
        function uploadChange(){
            var filepatd=$("#avatar").val();
            var extStart=filepatd.lastIndexOf(".");
            var ext=filepatd.substring(extStart,filepatd.length).toUpperCase();
            if(ext!=".PNG"&&ext!=".GIF"&&ext!=".JPG"&&ext!=".JPEG"){
                layer.msg("文件格式错误");
                $("#avatar").attr('value','');
                return false;
            }
            if ($("#avatar").val() == '') return false;
            ajaxFileUpload();
        }
    
        $(function(){
    
    
            $('#avatar').change(function(){uploadChange()});
    })

    第三步,ci框架后端:

      case 'upload_avatar':
                    if (is_uploaded_file($_FILES['avatar']['tmp_name'])) {
                        try{
                            $img_arr = imgUpload(
                                array(
                                    'path' => FCPATH . 'data/upload/member_avatar',
                                    'field' => 'avatar',
                                    'pre' => 'avatar_',
                                )
                            );
                            $file_name=$img_arr[0]['file_name'];
                            $file_name = (string) $file_name;
                            if(!is_file(FCPATH.DATA_UPLOAD.'member_avatar/'.$file_name)){
                                throw new Exception("上传失败");
                            }
    
                            $data=array();
                            $data['avatar_name']=$file_name;
                            $data['avatar_url']=getMemberAvatar($file_name);
                            $this->output(1,'上传成功', $data);
                        }catch(Exception $e){
                            $error_msg=$e->getMessage();
                            $error_msg=str_replace('<p>','',$error_msg);
                            $error_msg=str_replace('</p>','',$error_msg);
                            $this->output(400,$error_msg);
                        }
                    }else{
                        $this->output(400,"请选择上传的图片");
                    }
                    break;

    第四步:

    错误处理:http://blog.csdn.net/imlinjunjie/article/details/49403199

  • 相关阅读:
    错排问题
    用GDAL/OGR去读shapefile
    聊聊MyBatis缓存机制
    一份平民化的应用性能优化检查列表(完整篇)--转
    微服务实战(七):从单体式架构迁移到微服务架构
    微服务实战(六):选择微服务部署策略
    微服务实战(五):微服务的事件驱动数据管理
    微服务实战(四):服务发现的可行方案以及实践案例
    微服务实战(三):深入微服务架构的进程间通信
    微服务实战(一):微服务架构的优势与不足
  • 原文地址:https://www.cnblogs.com/lvchenfeng/p/7495114.html
Copyright © 2011-2022 走看看