Thinkphp+layui实现文件上传实时回显 图片附件上传并预览
本文代码基于TP6+LAYUI框架实现的实时上传文件,并回显文件名
<div class="layui-form-item">
<label class="layui-form-label">代理专属APK地址:</label>
<div class="layui-input-inline">
<input type="text" id="apkurl" name="apkurl" value="{$u['apkurl']}" placeholder="APK存放链接" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-upload">
<button type="button" class="layui-btn" id="cover1">上传APK</button>
</div>
<!--<div class="layui-input-inline">
<a id="preview1" width="20px" height="20px" ></a>
</div>-->
<input type="hidden" name="head_photo" id="head_photo1">
<div>(上传限制在20M内)</div>前端js代码
<script>
//添加图片或者附件文件
layui.use(['upload','jquery'],function () {
$ = layui.jquery;
var uploadInst = layui.upload.render({
elem:'#cover1'
,url:"upload/account/{$u['account']}"
,accept:'file' // 允许上传的文件类型
,auto:true // 自动上传
,before:function (obj) {
console.log(obj);
// 预览
obj.preview(function(index,file,result) {
// console.log(file.name); //图片名字
// console.log(file.type); //图片格式
// console.log(file.size); //图片大小
// console.log(result); //图片地址
//$('#preview1').attr('src',result); //图片链接 base64
});
// layer.load();
}
// 上传成功回调
,done:function(res) {
// console.log(upload);
//console.log(res);
$('#apkurl').val(res.msg);
//console.log($('#head_photo').val());
}
// 上传失败回调
,error:function(index,upload) {
// 上传失败
}
});
});
</script>后端TP6代码
//上传
public function upload()
{
$data=input('');
$file = request()->file('file');
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->move('uploads/');
if ($info) {
$path = '/uploads/'.$info->getSaveName();
$arr['code']=1;
$arr['msg']=$this->config['apk_domain'].$path;
Db::name("agents")->where('account',$data['account'])->update(array('file'=>$path));
return json($arr);
}
}顶(0)
踩(0)
- 最新评论
