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

互联网 2021/9/10 22:07:16

首先前端代码<div><input type="file" id="monofile"><input type="button" value="上传" id="uploade"> </div> <span style="color: red" id="img"></span>…

首先前端代码

<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);
            }
        }
    }

 

随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[TP5.0 PHP+jQuery 实现ajax文件上传]http://www.zyiz.net/tech/detail-226269.html

上一篇:Day58--前端--JQuery--03与 Bootstrap

下一篇:jQuery知识点总结归纳

赞(0)
关注微信小程序
程序员编程王-随时随地学编程

扫描二维码或查找【程序员编程王】

可以随时随地学编程啦!

技术文章导航 更多>
扫一扫关注最新编程教程