实际截图:
代码块:
html部分:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="keywords" content="">
<meta name="description" content="">
<title>{title}</title>
<style>
body {
background-color: #fff;
}
h1 {
margin-top: 100px;
text-align: center;
}
</style>
<link href="__STATIC__/cropper/cropper.css" />
{load href="__CSS__/public/public.css"/}
{load href="__LAYUI__/css/layui.css"/}
</head>
<body>
<!-- <h1>测试页面~~~</h1> -->
<div class="layui-form-item">
<label class="layui-form-label">头像</label>
<div class="layui-input-inline">
<input type="text" name="head" lay-verify="required" id="inputimgurl" placeholder="图片地址" value="123.jpg" class="layui-input">
</div>
<div class="layui-input-inline">
<div class="layui-upload-list" style="margin:0">
<img style="width: 150px;height: 150px;" src="__STATIC__/images/loginbg.jpg" id="srcimgurl" class="layui-upload-img">
</div>
</div>
<div class="layui-input-inline layui-btn-container" style="width: auto;">
<button class="layui-btn layui-btn-primary" id="editimg">修改图片</button >
</div>
<div class="layui-form-mid layui-word-aux">头像的尺寸限定150x150px,大小在50kb以内</div>
</div>
</body>
</html>
<script src="__STATIC__/layui/layui.js"></script>
<script>
layui.config({
base: '__STATIC__/cropper/' //layui自定义layui组件目录
}).use(['form','croppers'], function () {
var $ = layui.jquery
,form = layui.form
,croppers = layui.croppers
,layer= layui.layer;
//创建一个头像上传组件
croppers.render({
elem: '#editimg'
,saveW:150 //保存宽度
,saveH:150
,mark:1/1 //选取比例
,area:'900px' //弹窗宽度
,url: "{:url('/api/v1/uploadfile/uploadImg')}" //图片上传接口返回和(layui 的upload 模块)返回的JOSN一样
,done: function(url){ //上传完毕回调
$("#inputimgurl").val(url);
$("#srcimgurl").attr('src',url);
}
});
});
</script>
php接口部分
public function uploadImg()
{
//获取文件对象
$file = request()->file('file');
//验证并上传
$info = $file->validate(['size'=>'5242880','ext'=>'jpg,gif,png'])
->move('./uploads/img/');
//判断是否成功
if($info){
$data['src'] = './uploads/img/'.$info->getSaveName();
$result = ['code'=>1000,'data'=>$data,'msg'=>""];
}else{
$result = ['code'=>1001,'data'=>$data,'msg'=>$file->getError()];
}
echo json_encode($result);
exit();
}
js核心包