layui 富文本图片上传接口与普通按钮 文件上传接口的例子
作者:怕是不尽芳华 发布时间:2024-05-22 10:36:28
标签:layui,富文本,图片,文件,上传
富文本-图片上传
html:
<div class="layui-form-item layui-form-text">
<div class="layui-input-block">
<!--<textarea id="L_content" name="contents" required lay-verify="required" placeholder="详细描述" class="layui-textarea fly-editor" style="height: 260px;"></textarea>-->
<textarea id="L_content" name="contents" placeholder="详细描述" style="display: none;"></textarea>
</div>
</div>
js:记得之前引入layui.js
<script>
layui.use('layedit', function(){
var layedit = layui.layedit;
layedit.set({
uploadImage: {
url: '{:url("index/index/lay_img_upload")}', //接口url
type: 'post' //默认post
}
});
layedit.build('L_content'); //建立编辑器
});
</script>
tp:
// 图片上传接口
public function lay_img_upload()
{
$file = Request::instance()->file('file');
if(empty($file)){
$result["code"] = "1";
$result["msg"] = "请选择图片";
$result['data']["src"] = '';
}else{
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads/layui' );
if($info){
$infos = $info->getInfo();
// 源文件名
$name = $infos['name'];
$name_path =str_replace('\\',"/",$info->getSaveName());
//成功上传后 获取上传信息
$result["code"] = '0';
$result["msg"] = "上传成功";
$result['data']["src"] = "/forum/public/uploads/layui/".$name_path;
$result['data']["title"] = $name;
}else{
// 上传失败获取错误信息
$result["code"] = "2";
$result["msg"] = "上传出错";
$result['data']["src"] ='';
}
}
return json_encode($result);
}
普通点击button 文件上传
html :
<div class="layui-form layui-form-pane layui-tab-item">
<div class="layui-form-item">
<div class="avatar-add">
<p>建议尺寸168*168,支持jpg、png、gif,最大不能超过50KB</p>
<input type="hidden" name="userImage" value="${ui.userImage }" required lay-verify="required" />
<!--<button type="button" class="layui-btn upload-img " id="fileBtn">-->
<button type="button" class="layui-btn layui-btn-primary" id="fileBtn" style="position: absolute;left: 50%;top: 35px;margin: 0 0 0 -56px;">
<i class="layui-icon"></i>上传头像
</button>
<img src="{$user.profile_img}">
<span class="loading"></span>
</div>
</div>
</div>
js :
layui.use('upload',function(){
var upload = layui.upload;
upload.render({
elem: '#fileBtn'//绑定元素
,url: "{:url('index/personal/modifyImg')}" //上传接口
,accept: 'images'
,auto: true //属性详见http://www.layui.com/doc/modules/upload.html
// ,bindAction: '#uploadBtn'
,done: function(res){
alert(res.data.src);
$("[name=userImage]").val(res.data.src);
}
});
});
tp:
public function modifyImg()
{
$file = Request::instance()->file('file');
if(empty($file)){
$result["code"] = "1";
$result["msg"] = "请选择图片";
$result['data']["src"] = '';
}else{
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads/user' );
if($info){
$infos = $info->getInfo();
// 源文件名
$name = $infos['name'];
$name_path =str_replace('\\',"/",$info->getSaveName());
//成功上传后 获取上传信息
$result["code"] = '0';
$result["msg"] = "上传成功";
$result['data']["src"] = "/forum/public/uploads/user/".$name_path;
$result['data']["title"] = $name;
}else{
// 上传失败获取错误信息
$result["code"] = "2";
$result["msg"] = "上传出错";
$result['data']["src"] ='';
}
}
return json_encode($result);
}
来源:https://blog.csdn.net/qq_41066340/article/details/80845537


猜你喜欢
- 时间序列是指在一段时间内发生的任何可量化的度量或事件。尽管这听起来微不足道,但几乎任何东西都可以被认为是时间序列。一个月里你每小时的平均心率
- 前言在微信小程序开发中,navigator 用来实现页面路由功能,比如 A页面 中点击页面打开B页面1 navigator 默认方式打开新的
- 函数名称:ReplaceHTML参数:@Textstr作用:去掉 @Textstr 内的HTML代码备注:需要给数据库访问者master.s
- 一、实验环境1.Windows7x64_SP12.anaconda3.7 + python3.7(anaconda集成,不需单独安装)3.p
- 1 abstract验证码作为一种自然人的机器人的判别工具,被广泛的用于各种防止程序做自动化的场景中。传统的字符型验证安全性已经名存实亡的情
- 本文实例讲述了Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能。分享给大家供大家参考,具体如下:因为需要使用
- 在之前的一篇文章我们介绍了《如何向PHP数组中头部和尾部添加元素》既然有添加元素,那么就有删除元素,今天这篇文章详细介绍如何删除数组中的头部
- 抽象工厂模式(Abstact Factory)是一种常见的软件设计模式。该模式为一个产品族提供了统一的创建接口。当需要这个产品族的某一系列的
- 1、更新NVIDIA驱动 选对应自己显卡的驱动,(选studio版本,不要game版本)驱动链接 2、添加Anacond
- 如何调用多个不同的ip接口灵感来源:项目的登录登出权限是调A的ip下面的接口,其他的功能调的接口是B的ip下面的接口思路:其实就是多写几个r
- 需要安装OpenCV和SimpleItk。SimpleItk比较简单,直接pip install SimpleItk即可。代码如下:#cod
- 众所周知,Python开发框架大大减少了开发者不必要的重复劳动,提高了项目开发效率的同时,还使得创建的程序更加稳定。目前比较主流的Pytho
- 本文实例讲述了Mysql账户管理原理与实现方法。分享给大家供大家参考,具体如下:账户管理在生产环境下操作数据库时,绝对不可以使用root账户
- 1、DOMWEB标准现在可真是热门中热门,不过下面讨论的是一个不符合标准的document.all[]。DOM--DOCUMENTOBJEC
- 问题(来自Udacity机器学习工程师纳米学位预览课程)用 Python 实现函数 count_words(),该函数输入字符串 s 和数字
- 本文针对ThinkPHP中pathinfo的两种模式、四种路径访问模式和URL重写相关知识进行了总结归纳,分享给大家便于查询和借鉴。具体归纳
- <%MaxPerPage=8 ’定义页面最大的记录数为8<br>
- 组件简介组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以
- 安装python虚拟环境核心目的就是为了复制一个python环境,这样新项目下载的所有包,都会存放在虚拟环境下的python site-pa
- 本节讲解了 flask 的请求,如果想在没有请求的情况下获取上下文,可以使用test_request_context()或者request_