ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

TP5.0 PHP+jQuery 实现ajax文件上传

2021-09-10 21:01:14  阅读:303  来源: 互联网

标签:jQuery TP5.0 res formData ajax uploads file 上传 DS


首先前端代码

<div>
    <input type="file" id="monofile">
    <input type="button" value="上传" id="uploade">
</div>
<span style="color: red" id="img"></span>
</body>
</html>
<script>
    $("#uploade").click(function () {
        //FormData对象,是可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单"
        var formData = new FormData();
        formData.append("file",$("#monofile").get(0).files[0]);
        $.ajax({
            url:'http://www.item.skill.com/monofile',//接口地址
            type:'post',
            data:formData,
            dataType:'json',
            cache:false,//上传文件不需要缓存
            contentType:false, //在formData 对象里面已经声明了属性 这里需要关闭
            processData:false, //因为data值是FormData对象,不需要对数据做处理。
            success:function (res) {
                console.log(res);
                if (res.code==200){
                    $("#img").html(res.data); //上传后的路径展示到前端
                }else {
                    alert(res.msg);
                }
            }
        })
    })
</script>

后端代码

public function monoFile()
    {
        //获取文件
        $file = $this->request->file('file');
        //判断文件是否为空
        if (!empty($file)){
            // 移动到框架应用根目录/public/uploads/goods 目录下
            $info = $file->validate(['size'=>1024*1024*2,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads'.DS.'goods');
            if(!$info){
                // 上传失败获取错误信息
                $msg = $file->getError();
                self::fail(500,$msg);//这里是已经封装好的方法 返回状态码和提示信息的json即可
            }else{
                // 成功上传后 获取上传信息 返回数据
                $logoPath = DS.'uploads'.DS.'goods'.DS.$info->getSaveName();
                self::ok(200,'上传成功',$logoPath);
            }
        }
    }

 

标签:jQuery,TP5.0,res,formData,ajax,uploads,file,上传,DS
来源: https://www.cnblogs.com/gj210623/p/15253013.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有