筱筱溺水寒

筱筱溺水寒

这家伙有点懒,还没写个性签名!

  • 财富值145
  • 威望值0
  • 总积分185

个人信息

  • 解决了 23333
    参数要写 Users[pic] 0。0

  • html:

    <input type="file" class="avatar_input" name="pic" onchange="handleFiles(this,'icon')" multiple>
    <img src="<?=$info['pic']?>" class="avatar" id="icon">
    

    ajax:
    function handleFiles(obj,id) {

        file = document.getElementById("icon");
        var files = obj.files;
        img = new Image();
        if(window.URL){
            //File API
            img.src = window.URL.createObjectURL(files[0]); //创建一个object URL,并不是你的本地路径
            img.onload = function(e) {
                window.URL.revokeObjectURL(this.src); //图片加载后,释放object URL
            }
        }
    
        //上传文件
    
        var formData = new FormData();
        formData.append('pic', files[0]);
        $.ajax({
            type:"post",
            data:formData,
            cache:false,
            contentType:false,
            processData: false,
            dataType: "json",
            url:"<?=Url::to(['users/up-pic'])?>",
            success:function (data) {
                console.log(data);
                if(data.tag == 1){
                    file.src=img.src;
                }else{
                    alert(data.msg)
                }
            }
        })
        
        
    

    控制器:
    $file = new UploadForm();

            $model = $this->findPicModel(getUserId());
            $opic   =   $model['pic'];
    
            if (Yii::$app->request->isPost) {
                $file->pic = UploadedFile::getInstance($model, 'pic');
                $model->pic =   $file->upload('users/');
    
                if ($model->pic) {
                    if($model->save()){
                        deletePic($opic);
                        return  Json::encode(['tag'=>1,'msg'=>'ok']);
                    }else{
                        deletePic($file->pic);
                        return  Json::encode(['tag'=>0,'msg'=>'保存失败']);
                    }
                }else{
                    return  Json::encode(['tag'=>0,'msg'=>'获取失败']);
                }
            }else{
                return  Json::encode(['tag'=>0,'msg'=>'非法操作']);
            }
    
  • 你这个名字是不是写错了!或者post提交的csrf的问题

    名字没有错把,

  • 回复了 的回答

    ajax提交的字段跟rules里一致?

    一致啊 都是pic

  • 回复了 的回答

    检查一下php环境 打印phpinfo看看是不是不允许上传

    不是把。。。我用form表单提交是没问题的, 就ajax 不行,返回的是空

  • 回复了 的回答

    用 ajax 上传文件有点小麻烦。
    以下供参考:

    function test(){
        var form = new FormData(document.getElementById("tf"));
        $.ajax({
            url:"${pageContext.request.contextPath}/public/testupload",
            type:"post",
            data:form,
            processData:false,
            contentType:false,
            success:function(data){
                window.clearInterval(timer);
                console.log("over..");
            },
            error:function(e){
                alert("错误!!");
                window.clearInterval(timer);
            }
        });        
        get();//此处为上传文件的进度条
    }
    

    我也是这样写的,控制器是 $_FILES 是能获取图片的,但是 UploadedFile::getInstance这个返回空的,upload 也是空的

  • 回复了 的回答

    注册请求中,this->pwd就是你前台填的password值,但是保存到数据库里时,是经过加密后的了,所以数据库里你是看不到原始的pwd值的,为了安全~

    ҉ 加载中... 恩啊 晓得了

  • 回复了 的回答

    注册请求中,this->pwd就是你前台填的password值,但是保存到数据库里时,是经过加密后的了,所以数据库里你是看不到原始的pwd值的,为了安全~

    ok 所以password 相当于 password_hash

  • 回复了 的回答

    注册请求中,this->pwd就是你前台填的password值,但是保存到数据库里时,是经过加密后的了,所以数据库里你是看不到原始的pwd值的,为了安全~

    额。。。。就是只存password_hash 么

助理 等级规则
185/200
资料完整度
20/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

2

Ta的访客

8