tp5 ajax单文件上传
2024-09-07 22:57:01
HTML代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div class="upload-btn">
<input type="file" name="file" id="pic" accept="image/gif,image/jpeg,image/x-png"/>
<span></span>
</div>
</body>
</html>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
</script>
<script>
// /上传图片
//注意这不是click
$('#pic').change(function(event) {
var formData = new FormData();
formData.append("file", $(this).get(0).files[0]);
$.ajax({
url:"http://www.examtest.com/pyg/api/addUpLode",
type:'POST',
dataType:"json",
data: formData,
cache: false,
contentType: false, //不可缺
processData: false, //不可缺
success:function(data){
console.log(data)
if (data.code=500){
alert(data.message)
}
if (data.code==501){
alert(data.message);
}
if (data.code==200){
alert(data.message);
}
}
});
});
</script>
控制器代码:
//单文件上传视图
public function uplode()
{
return view();
} // 接受文件
public function addUpLode()
{
//接受参数:
// $file=request()->file('file');
$file = $this->request->file('file');
//验证参数
if (empty($file)) {
return json(['code' => 500, 'message' => '照片不可以为空', 'data' => $file]);
}
//验证参数
if ($file) {
$info = $file->validate(['size' => 15678, 'ext' => 'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads');
if ($info) {
// 成功上传后 获取上传信息
// 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
$filename = $info->getSaveName();
/*
* 这里可以进行替换
*
* */
return json(['code' => 200, 'message' => '文件上传成功', 'data' => $file]);
} else {
// 上传失败获取错误信息
return json(['code' => 501, 'message' => $file->getError(), 'data' => $file]);
}
}
}
最新文章
- HDFS DataNode 设计实现解析
- 推荐一篇好文:OSG OSGearth vs2010编译
- 常见MVC框架比较
- 分享一个Winform里面的HTML编辑控件Zeta HTML Edit Control,汉化附源码
- 161013、java实现邮件群发带附件
- Objective-C 入门(给新人的)
- CSS 常用自定义样式
- 百度地图API 添加自定义标注 多点标注
- 让你的JS代码更具可读性
- ETL实践--kettle转到hive
- 响应式WEB设计的基本原则大总结
- Build 2019 彩蛋
- Robot Framework自动化使用
- redis中的hash、列表、集合操作
- Delphi中类的运行期TypeInfo信息结构说明(转载)
- Bootstrap 插件收集
- Nginx URL匹配
- php性能提升与检测
- spring boot 项目配置字符编码
- RockerMQ介绍 及搭建双master模式