thinkphp结合ajax上传图片

2019-05-31  本文已影响0人  斯内克si
tp是5.1版本,js使用的jq
//前台JS
//formAdd为from表单ID
var formElement = document.querySelector("#formAdd");
var formdata = new FormData(formElement);
$.ajax({
     url:"{:url('info/add')}",
     type:'POST',
     data:formdata,
     async:false,
     processData:false,
    contentType:false,
    success:function (res) {
        // console.log(res);
        // return ;
        if (res.code==1){
            //toastr.success(res.msg, '正在跳转到列表页面...');
            window.location.href=res.url;
        } else{
            //$('#divInfo').toggleClass('sk-loading');
           // toastr.error( res.msg);
           alert(res.msg);
        }
    }
});

后台代码

//接受普通数据
$data = input('param.');
//手动判断是否提交图片
if (!empty($_FILES['file']['name'])){
    //使用TP的request,接收图片
    // 获取表单上传文件 例如上传了001.jpg
    $file = request()->file('file');
    // 移动到框架应用根目录/uploads/ 目录下
    $info = $file->rule('date')->validate(['size'=>10485760,'ext'=>'jpg,jpeg,png,gif'])->move( '../public/uploads/');
    if($info){
        // 成功上传后 获取上传信息
        $data['banner'] = $info->getSaveName();
    }else{
        // 上传失败获取错误信息
        return $this->error('上传图片失败!'.$file->getError());
    }
}
帮到你们的话点个赞吧
上一篇下一篇

猜你喜欢

热点阅读