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

首先前端代码

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

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

原文:https://www.cnblogs.com/gj210623/p/15253013.html

以上是TP5.0 PHP+jQuery 实现ajax文件上传的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>