THINKPHP 模板上传图片--后台接收图片
//前台{extend name="public/base" /}{block name="body"}
<div class="row">
<div class="col-md-8">
<div class="page-header">
<h2>发布文章</h2>
</div>
<form id="uploadForm">
<input type="hidden" value="{$Think.session.user_id}" name="user_id" id="user_id" />
<div class="form-group">
<label>标题</label>
<input type="text" name="title" id="title" class="form-control" placeholder="文章标题">
</div>
<div class="form-group">
<label >栏目</label>
<select class="form-control" name="cate_id" id="cate_id">
{volist name="cateList" id="vo"}
<option value="{$vo.id}">{$vo.name}</option>
{/volist}
</select>
</div>
<div class="form-group">
<label>内容</label>
<textarea id="content" class="form-control" rows="8" name="content" placeholder="内容"></textarea>
</div>
<div class="form-group">
<label >封面图</label>
<input type="file" name="title_img" id="inputfile" >
<!-- <p class="help-block">Example block-level help text here.</p> -->
<div id="info" style=" color:red;margin-bottom: 3px;margin-top: 8px;"></div>
</div>
</form>
<div class="form-group">
<buttonclass="btn btn-primary" id="register" style="width:100%">发布</button>
</div>
</div>
<script>
$(function(){
$("#register").on('click',function(){
var img = $("#inputfile").prop("files");
var formData = new FormData();
formData.append('title_img', img);
formData.append('user_id', $('#user_id').val());
formData.append('title', $('#title').val());
formData.append('cate_id',$('#cate_id').val());
formData.append('content', $('#content').val());
$.ajax({
url:"{:url('index/insertcl')}",
type:"post",
data:formData,
dataType:'json',
cache: false,
processData: false,
contentType: false,
success:function(data){
//如果输入不合格
if(data.status==-1){
$('#info').text(data.message);
}else{
alert(data.message);
window.location.href="{:url('index/index')}";
}
}
});
});
});
</script>
{/block}
后台
//发布文章操作
public function insertcl(){
$data = $_POST;
$data['title_img'] =request()->file('title_img');
//验证器
$rule = 'app\common\validate\Article';
$res = $this->validate($data,$rule);
//验证结果
if($res!==true){
return ['status'=>-1,'message'=>$res];
}
//获取file对象
$file =$data['title_img'];
//文件信息验证与上传到服务器指定目录
$info = $file->validate([
'size'=>5000000,//文件大小
'ext'=>'jpg,jpeg,png,gif'//文件拓展名
])->move('uploads/');//移动到public/uploads目录下
//错误就报错
if($info==false){
return ['status'=>-1,'message'=>$file->getError()];
}
//获取文件名
$data['title_img'] = $info->getSaveName();
$result = Article::create($data);
if($result){
return ['status'=>1,'message'=>'发布成功'];
}
return ['status'=>0,'message'=>'发布失败'];
}
页:
[1]