前端代码:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/layui/2.7.6/css/layui.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/layui/2.7.6/layui.js"></script>
</head>
<body>
<button type="button" class="layui-btn" id="test1" name="test1">
<i class="layui-icon"></i>上传图片</button>
<!--显示缩略图-->
<!--<div class="layui-upload-list">
<img class="layui-upload-img" id="demo1" style="width:100px;" />
</div>-->
<script>
layui.use('upload', function(){
var upload = layui.upload;
var $ = layui.jquery;
//执行实例
var uploadInst = upload.render({
elem: '#test1' //绑定元素
,url: '{:url("single_upload1")}' //上传接口
/* ,before: function(obj){ //显示缩略图
obj.preview(function(index, file, result){
$('#demo1').attr('src', result);
console.log(index);
console.log(file);
console.log(result);
});
} */
,done: function(res){
console.log(res);
//上传完毕回调
}
,error: function(){
//请求异常回调
}
});
});
</script>
</body>
</html>
TP5后端简易接口代码:
<?php
namespace app\demo\controller;
use think\Controller;
use think\Db;
class Upload extends Controller{
public function index(){
return view();
}
public function single_upload1(){
$file = request()->file('file');
$info = $file->validate(['size' => 15678000, 'ext' => 'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads');
$arr = [];
if($info){
$arr['code'] = 1;
$arr['msg'] = '/uploads'.DS. $info->getSaveName();
return $arr;
}else{
$arr['code'] = 2;
$arr['msg'] = "上传失败";
return $arr;
}
}
}