单独的文件上传
html文件
upload模块快速使用上传封面
layui.use('upload', function(){
var upload = layui.upload;
//执行实例
var uploadInst = upload.render({
elem:'#cover'
,url:'/admin/test/upload'
,accept:'file' // 允许上传的文件类型
,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); //图片地址
if (file.type=='image/png' || file.type=='image/jpg'|| file.type=='image/jpeg' & file.size <=400000){
$('#preview').attr('src',result); //图片链接 base64
}else {
$('#p').empty().append("请重新上传符合条件的图片");//使用empty()清空,防止多次点击重复添加
}
});
// layer.load();
}
// 上传成功回调
,done:function(res) {
// console.log(upload);
console.log(res.msg);
}
// 上传失败回调
,error:function(index,upload) {
// 上传失败
}
});
});
php文件
/**
* Test.php
* file descriptions
* Create by ling
* Time:2020/10/28 10:08
*/
namespace app\admin\controller;
use think\Controller;
use think\Db;
class Test extends Controller{
public function index(){
return $this->fetch();
}
public function upload(){
$file = request()->file('file');
$info = $file->move('public/upload/');
if($info) {
$data['code'] = 0;
$data['msg'] = $info->getSaveName();
$data['type'] = $info->getExtension();//获取图片的类型
if($data['type'] == 'jpg' || $data['type'] == 'gif' || $data['type'] == 'png' || $data['type'] == 'jpeg'){
Db::name('image')->insert([
'imageurl' => 'http://www.turingwebsite.com/public/upload/'.$data['msg'],
'create_time' => time()
]);
}
}else{
$data['code'] = 1;
$data['msg'] = $file->getError();
}
return json($data);
}
}
文件和表单一起上传
html文件
upload模块快速使用输入框
封面
上传封面
立即提交
重置
layui.use('upload', function(){
var upload = layui.upload;
//执行实例
var uploadInst = upload.render({
elem:'#cover'
,url:'/admin/test/upload'
,accept:'file', // 允许上传的文件类型
auto: false /*true为选中图片直接提交,false为不提交根据bindAction属性上的id提交*/
,bindAction: '#tijiao',//auto为false时,点击触发上传
choose:function (obj) {
// 预览
obj.preview(function(index,file,result) {
// console.log(file.name); //图片名字
// console.log(file.type); //图片格式
// console.log(file.size); //图片大小
// console.log(result); //图片地址
$('#preview').attr('src',result); //图片链接 base64
});
// layer.load();
}
// 上传成功回调
,done:function(res) {
console.log(res);
if(res.code===0){
$('#hidden').val(res.msg);
}
}
// 上传失败回调
,error:function(index,upload) {
// 上传失败
}
});
});
var form = layui.form;
form.on('submit(formDemo)', function(data){
var Name=data.field.title;
layer.confirm('确定保存?', function(index) {
var hidden = $('#hidden').val();//在弹出确定层之后获取数据,图片的name值重新获取
console.log(hidden);
$.ajax({
type:'post',
url:"/admin/test/upload2",
data: {name:Name,hidden:hidden},
})
layer.close(index);
})
});
php文件
/**
* Test.php
* file descriptions
* Create by ling
* Time:2020/10/28 10:08
*/
namespace app\admin\controller;
use think\Controller;
use think\Db;
use think\Request;
class Test extends Controller{
public function index(){
return $this->fetch();
}
public function upload(){
$file = request()->file('file');
$info = $file->move('public/upload/');
if($info) {
$data['code'] = 0;
$data['msg'] = 'http://www.turingwebsite.com/public/upload/'.$info->getSaveName();
Db::name('image')->insert([
'imageurl' => $data['msg'],
'create_time' => time()
]);
}else{
$data['code'] = 1;
$data['msg'] = $file->getError();
}
return json($data);
}
public function upload2(){
if ($this->request->isPost()) {
$Name=input('post.name');
$hidden=input('post.hidden');
$Name=input('post.name');
Db::name('test')->insert([
'content' => $Name,
'imageurl' => $hidden,
'create_time' => time()
]);
$data=array(
'code' => 0,
'msg' =>'新增成功'
);
return json($data);
}else{
$data=array(
'code' => 1,
'msg' =>'请求方式错误'
);
return json($data);
}
}
}