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组件常见用法总结的更多相关文章

  1. layui(七)——rate组件常见用法总结

    layui中提供了rate组件,用法很简单,直接上代码. <div id="test1"></div> <script> layui.use(' ...

  2. layui(二)——layer组件常见用法总结

    layer是layui的代表作,功能十分强大,为方便以后快速配置这里对其常见用法做了简单总结 一.常用调用方式 //1.普通消息:alert(content,[options],[yesCallBac ...

  3. layui(三)——laypage组件常见用法总结

    laypage 的使用非常简单,指向一个用于存放分页的容器,通过服务端得到一些初始值,即可完成分页渲染.核心方法: laypage.render(options)  来设置基础参数. 一.laypag ...

  4. layui(九)——flow组件常见用法总结

    该模块包含 信息流加载 和  图片懒加载  两大核心支持,无论是对服务端.还是前端体验,都有非常大的性能帮助.下边分别给出了这两种技术的使用方法 一.信息流加载 信息流加载的核心方法时  flow.l ...

  5. layui(五)——form组件常见用法总结

    form 是我们非常看重的一块.layui中的form实现全自动的初始渲染,和基于事件驱动的接口书写方式.我整理了layui中form的配置.下边直接给一个栗子,后台采用.net MVC,除了razo ...

  6. layui(四)——table组件常见用法总结

    table是 layui 最核心的组成之一.它用于对表格进行一些列功能和动态化数据操作,涵盖了日常业务所涉及的几乎全部需求.支持固定表头.固定行.固定列左/列右,支持拖拽改变列宽度,支持排序,支持多级 ...

  7. layui的upload组件使用以及上传阻止测试

    背景:页面上一个按钮,点击弹出上传框,从按钮的方法代码开始写:处理未选择文件阻止上传:通过判断选择文件的数量,显示或隐藏上传按钮: 在js中定义: function  uploadFile(){ la ...

  8. layui(一)——layDate组件常见用法

    和 layer 一样,我们可以在 layui 中使用 layDate,也可直接使用 layDate 独立版,可按照实际需求来选择.options整理如下: layui.use('laydate', f ...

  9. php中的curl使用入门教程和常见用法实例

    摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...

随机推荐

  1. Ionic生命周期与注意点

    需要注意的地方是:在走页面的生命周期以前,会先走构造方法 构造方法只走一次,除非再次创建这个页面.所以如果先push了一个新页面,然后再调用pop()返回到之前的页面,那么是不会走构造方法里面的方法的 ...

  2. MT【294】函数定义的理解

    已知函数$f(x)$的定义域为$D,\pi\in D$.若$f(x)$的图像绕坐标原点逆时针旋转$\dfrac{\pi}{3}$后与原图像重合,则$f(\pi)$不可能是(    )A$\dfrac{ ...

  3. H5左侧滑删除简单实现

    简单的左滑删除 实现功能 在一个列表的一条中,往左滑动时,右边出现删除按钮,点击可删除这一条 实现办法 列表中一项为父div,其中包含内容div和删除按钮span 父div相对定位,设置宽度.内容di ...

  4. noiac132 B君的第三题 (树形dp)

    传送门 本来想用点分治做,结果root又求不对 算的时候还算错了 我好菜啊 结果szr大佬告诉我是树形dp 我好菜啊!! 我们有$\lceil \frac{x}{k} \rceil = \frac{x ...

  5. 20165223 week3蓝墨云测试总结

    1. 表达式0xaa | 0x55的值为 答案: 解析: 0xaa用二进制表示为10101010,0x55用二进制表示为01010101,按位或后为11111111,十进制表示为255,十六进制表示为 ...

  6. 编写高质量代码:改善Java程序的151个建议 --[0~25]

    警惕自增的陷阱 public class Client7 { public static void main(String[] args) { int count=0; for(int i=0; i& ...

  7. redis 指令文档

    参考:https://redis.io/commands http://www.runoob.com/redis/redis-lists.html redis: 打开一个 cmd 窗口 使用cd命令切 ...

  8. jquery 追加元素/jquery文档处理,插入、修改、移动、删除指定的DOM元素.

    jquery 追加元素 $("#content").append("..."); // 添加到元素内部最后面 $("#content").p ...

  9. poj2689 Prime Distance

    题意:求[a, b]之间差最大/小的相邻素数. 0 < a, b < 2^32, 0 < b - a <= 1e6 首先发现a,b很大,以至于无法求出素数来. 然后就考虑退而求 ...

  10. 关于在 java 8 下开启 TLS_RSA_WITH_3DES_EDE_CBC_SHA 支持 xp ie8 tls1.0 的正常访问

    最近为 aioserver 增加了ssl支持. 在 myssl.com 上测试了一下,关于[客户端握手模拟]发现 ie8 xp tls1.0  这一项提示:握手失败 (服务器断开连接) 我又试了一下 ...