layui(六)——upload组件常见用法总结
layui中提供了非常简单的文件上传组件,这里写了一个上传图片的栗子,上传成功后返回图片在服务器的路径,并设置为页面中img的src属性。因为上传十分简单,没什么可说的,就直接上代码了。
html代码
<button type="button" class="layui-btn" id="test1">
<i class="layui-icon"></i>选择图片
</button>
<button type="button" class="layui-btn" id="btnUpload">开始上传</button>
<img id="myPic" src="" width="500" />
JS代码
<script>
layui.use(['upload', 'jquery'], function () {
var upload = layui.upload;
var $ = layui.$;
//执行实例
var uploadInst = upload.render({
elem: '#test1' //绑定元素
, url: '/Home/UploadImg' //上传接口 //*********************传输限制
, size: 100 //传输大小100k
, exts: 'jpg|png|gif|' //可传输文件的后缀
, accept: 'file' //video audio images //****************传输操作相关设置
, data: { Parm1: "hello", Parm2: "world" } //额外传输的参数
, headers{token:'sasasasa'} //额外添加的请求头
, auto: false //自动上传,默认是打开的
, bindAction: '#btnUpload' //auto为false时,点击触发上传
, multiple: false //多文件上传
//, number: 100 //multiple:true时有效 , done: function (res) { //传输完成的回调
console.log(res.IsSuccess)
console.log(res.Msg)
$('#myPic').attr("src", res.Src);
}
, error: function () { //传输失败的回调
//请求异常回调
}
});
});
</script>
后台接口(使用.net mvc)
public ActionResult UploadImg(string Parm1,string Parm2)
{
if (Request.Files.Count>)
{
//p1,p2没什么用,只是为了证明前端中额外参数data{parm1,parm2}成功传到后台了
string p1 = Parm1;
string p2 = Parm2;
//获取后缀名
string ext = Path.GetExtension(Request.Files[].FileName);
//获取/upload/文件夹的物理路径
string mapPath = Server.MapPath(Request.ApplicationPath);
//通过上传时间来创建文件夹,每天的放在一个文件夹中
string dir = mapPath + "upload/"+DateTime.Now.ToString("yyyy-MM-dd");
DirectoryInfo dirInfo = Directory.CreateDirectory(dir);
//在服务器存储文件,文件名为一个GUID
string fullPath = dir + "/" + Guid.NewGuid().ToString()+ ext;
Request.Files[].SaveAs(fullPath);
//获取图片的相对路径
string imgSrc = fullPath.Replace(mapPath, "/");
return Json(new { IsSuccess = , Msg = "上传成功", Src = imgSrc });
}
else
{
return Json(new { IsSuccess = , Msg = "上传失败", Src = "" });
}
}
注:本文只是自己为了查看方便整理的一些内容,并不包含layui中所有内容,查看更多请访问官网http://www.layui.com/doc/modules/upload.html
layui(六)——upload组件常见用法总结的更多相关文章
- layui(七)——rate组件常见用法总结
layui中提供了rate组件,用法很简单,直接上代码. <div id="test1"></div> <script> layui.use(' ...
- layui(二)——layer组件常见用法总结
layer是layui的代表作,功能十分强大,为方便以后快速配置这里对其常见用法做了简单总结 一.常用调用方式 //1.普通消息:alert(content,[options],[yesCallBac ...
- layui(三)——laypage组件常见用法总结
laypage 的使用非常简单,指向一个用于存放分页的容器,通过服务端得到一些初始值,即可完成分页渲染.核心方法: laypage.render(options) 来设置基础参数. 一.laypag ...
- layui(九)——flow组件常见用法总结
该模块包含 信息流加载 和 图片懒加载 两大核心支持,无论是对服务端.还是前端体验,都有非常大的性能帮助.下边分别给出了这两种技术的使用方法 一.信息流加载 信息流加载的核心方法时 flow.l ...
- layui(五)——form组件常见用法总结
form 是我们非常看重的一块.layui中的form实现全自动的初始渲染,和基于事件驱动的接口书写方式.我整理了layui中form的配置.下边直接给一个栗子,后台采用.net MVC,除了razo ...
- layui(四)——table组件常见用法总结
table是 layui 最核心的组成之一.它用于对表格进行一些列功能和动态化数据操作,涵盖了日常业务所涉及的几乎全部需求.支持固定表头.固定行.固定列左/列右,支持拖拽改变列宽度,支持排序,支持多级 ...
- layui的upload组件使用以及上传阻止测试
背景:页面上一个按钮,点击弹出上传框,从按钮的方法代码开始写:处理未选择文件阻止上传:通过判断选择文件的数量,显示或隐藏上传按钮: 在js中定义: function uploadFile(){ la ...
- layui(一)——layDate组件常见用法
和 layer 一样,我们可以在 layui 中使用 layDate,也可直接使用 layDate 独立版,可按照实际需求来选择.options整理如下: layui.use('laydate', f ...
- php中的curl使用入门教程和常见用法实例
摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...
随机推荐
- POJ1442-查询第K大-Treap模板题
模板题,以后要学splay,大概看一下treap就好了. #include <cstdio> #include <algorithm> #include <cstring ...
- Codeforces Round #514 (Div. 2) C. Sequence Transformation 思维构造
题意 给出一个1-n的集合 gcd 集合里面的所有数 得到的 一个 数 然后自己选择删去一个数 要使得到的数 构成的数列 的字典序最大 思路: gcd所有数 那gcd得到的数肯定要小于数 ...
- 基于 __new__ 方法的单例模式
单例模式定义 首次实例化创建实例化对象 之后的每次实例化都用最初的实例化对象 即单实例模式 __new__ 的原理 __new__ 方法可以在 __init__ 方法执行 这样可以在初始化之前进行一系 ...
- navicat激活
参考:https://www.jianshu.com/p/5f693b4c9468 一开始想激活12.1.8,但是激活按钮一直点不了,换了个12.0激活成功
- 【BZOJ3691】游行(网络流)
[BZOJ3691]游行(网络流) 题面 BZOJ 然而权限题. Description 每年春季,在某岛屿上都会举行游行活动. 在这个岛屿上有N个城市,M条连接着城市的有向道路. 你要安排英雄们的巡 ...
- SNMP扫描
------------------------------------------------------------------grub引导密码:[root@localhost ~]# jm4pt ...
- 51nod 1443 路径和树(最短路树)
题目链接:路径和树 题意:给定无向带权连通图,求从u开始边权和最小的最短路树,输出最小边权和. 题解:构造出最短路树,把存留下来的边权全部加起来.(跑dijkstra的时候松弛加上$ < $变成 ...
- HDU--4825 Xor Sum (字典树)
题目链接:HDU--4825 Xor Sum mmp sb字典树因为数组开的不够大一直wa 不是报的 re!!! 找了一下午bug 草 把每个数转化成二进制存字典树里面 然后尽量取与x这个位置上不相同 ...
- Spring 整合 Hibernate 时启用二级缓存实例详解
写在前面: 1. 本例使用 Hibernate3 + Spring3: 2. 本例的查询使用了 HibernateTemplate: 1. 导入 ehcache-x.x.x.jar 包: 2. 在 a ...
- 第二篇-ubuntu18.04下怎么制作GIF动画
一.在桌面打开终端 二.接着通过apt安装byzanz.sudo apt-get install byzanz 三.安装完成后在终端执行“xwininfo”.xwininfo 四.然后鼠标会变成“+” ...