tp6 formData上传图片
html
<tr style="height: 150px;">
<td align="right">站点标志</td>
<td>
<input type="file" id="uploadimg" size="18" />
<input type="hidden" value="{$data['site_logo']|default=''}" name="site_logo" id="site_logo_path"/>
<a href="{$domain}" target="_blank"><img src="{$data['site_logo']|default=''}" id="site_logo_pic" style="width: 150px;"></a>
</td>
</tr>
js
$('#uploadimg').change(function () {
var files = this.files;
//console.log(files);
if(files.length>0)
{
var formData = new FormData();
formData.append('imageFile',files[0]);
$.ajax({
url:"{:url('upload')}",
data: formData,
type:"POST",
dataType:'JSON',
processData: false,//数据处理
contentType: false,//内容类型
async:false,
success:function(res){
if (res.code == 0){
$('#site_logo_path').val(res.data);
$('#site_logo_pic').attr('src',res.data);
layer.msg(res.msg, {time:1000});
}else{
layer.msg(res.msg,{anim:6});
}
}
});
}
});
php端
//图片上传
public function upload()
{
// $file=$_FILES['imageFile'];
// dump($_FILES);
$data=request()->file();
$file=$data['imageFile']??'';
$fileExtArr='jpg,png,jpeg,gif';//图片扩展名
$filesize=4 * 1024 * 1024;//图片大小
try{
// 使用验证器验证上传的文件
validate(['imageFile' => [
// 限制文件大小(单位b),这里限制为4M
'fileSize' => $filesize,
// 限制文件后缀,多个后缀以英文逗号分割
'fileExt' => $fileExtArr
]])->check($data);
$savename = \think\facade\Filesystem::disk('public')->putFile( 'admin', $file);
$picpath='/storage/'.$savename;
$picpath=str_replace('\\','/',$picpath);
return ajax_return('0','上传成功',$picpath);
}catch (\think\exception\ValidateException $e) {
return ajax_return('-1',$e->getMessage());
}
}
希望能帮到一些迷茫的人,未来的日子里继续奋斗。