Layui upload 上传有进度条

摘要:
首先,您需要下载最新的playui的jslayui进度条。2.5.5中添加了进度条的功能,因此不需要xhr:function。1.前台HTML˂buttotype=“按钮

首先需要下载最新的 layui的js layui 有进度条是在 2.5.5的时候添加了进度条的功能,所有在也不用 xhr:function了

1、前台HTML

<link href="~/Scripts/layui/css/layui.css" rel="stylesheet" />
<script src="~/Scripts/layui/layui.all.js"></script>
 
<button type="button" class="layui-btn" id="chooseFile">
    <i class="layui-icon">&#xe67c;</i>选择文件
</button> 文件名称: <span id="fileName"></span>
<div style="height: 20px;"></div>
<button type="button" class="layui-btn" id="uploadBtn">
    <i class="layui-icon">&#xe67c;</i>上传文件
</button>
<div style="height: 20px;"></div>
<div class="layui-progress layui-progress-big" lay-showPercent="yes" lay-filter="progressBar">
    <div class="layui-progress-bar layui-bg-red" lay-percent="0%"></div>
</div>
<script type="text/javascript">


    layui.use(['upload', 'element'], function () {
        var upload = layui.upload,
            element = layui.element;
        element.init();

        upload.render({
            elem: '#chooseFile', // 文件选择
            accept: 'file',
            url: '/Home/FileUpload',
            auto: false, // 设置不自动提交
            bindAction: '#uploadBtn', // 提交按钮
            progress: function (e, percent) {
                console.log(JSON.stringify(e));
                console.log("进度:" + e + '%');
                element.progress('progressBar', e + '%');
            },
            choose: function (obj) {
                obj.preview(function (index, file, result) {
                    $("#fileName").html(file.name);
                });
            },
            done: function (res) {
                layer.msg(res.msg);
            },
            error: function (res) {
                layer.msg(res.msg);
            }
        });

    });
</script>

2、后台方法

public ActionResult FileUpload()
        {
            HttpFileCollection uploadFiles = System.Web.HttpContext.Current.Request.Files;

            //上传文件保存路径  
            string savePath = Server.MapPath("/UploadFiles/");
            try
            {
                for (int i = 0; i < uploadFiles.Count; i++)
                {

                    //HttpPostedFile 对已上传文件进行操作

                    //uploadFiles[i]  逐个获取上传文件
                    System.Web.HttpPostedFile postedFile = uploadFiles[i];
                  
                    string fileName = System.IO.Path.GetFileName(postedFile.FileName); //获取到名称
                    string fileExtension = System.IO.Path.GetExtension(fileName);//文件的扩展名称
                    string type = fileName.Substring(fileName.LastIndexOf(".") + 1);    //类型  
                    if (uploadFiles[i].ContentLength > 0)
                        if (!System.IO.Directory.Exists(savePath))
                        {
                            System.IO.Directory.CreateDirectory(savePath);
                        }

                        uploadFiles[i].SaveAs(savePath + fileName);
                }
            }
            catch (System.Exception Ex)
            {
                Response.Write(Ex);
            }

            return Content("");
        }

3、上传效果

Layui upload 上传有进度条第1张

免责声明:文章转载自《Layui upload 上传有进度条》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【10】react 之 react-router爬取csdn的数据与解析存储(9)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android 如何看日志信息

什么时候会产生log文件呢 ?一般在如下几种情况会产生log文件 。 1,程序异常退出 , uncaused exception;2,程序强制关闭 ,Force Closed (简称FC);3,程序无响应 , Application No Response (简称ANR) , 顺便,一般主线程超过5秒么有处理就会ANR;4,手动生成 ; 拿到一个日志文件,...

[WinForm] TableLayoutPanel和FlowLayoutPanel的使用

这篇文章主要跟大家分享下,在配餐系统的开发中,对tableLayoutPanel 和 flowLayoutPanel 控件的使用方法和技巧 ——后附上 测试demo, 相信需要的朋友下载看后能很快的知道其如何使用并实现一些效果和扩展应用! tableLayoutPanel: 表格布局面板,适合以表格形式规则的动态添加(显示)控件。使用方法概述:1.将 ta...

dom 绑定数据

一、绑定/修改 .jQuery修改属性值,都是在内存中进行的,并不会修改 DOM 1. 对象绑定$(selector).data(name) $("#form").data("name") 2. dom 绑定 $.data(element,name, val); jQuery.data($("#form")[0], "testing", 123); 3....

Android日志监听工具logcat命令详解(转)

Android日志系统提供了记录和查看系统调试信息的功能。日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过logcat命令来查看和使用. 在使用logcat之前,请确保手机的USB调试模式已经开启,可以通过"Setting->Application->Development->USB debugging"来开启。 logc...

Control.CheckForIllegalCrossThreadCalls=false不可在多线中随便使用

CodeProject上有篇文章An Alternate Way of Writing a Multithreaded GUI in C# 本意是Alternate Way 另外一种方法,后来莫名其妙的被转载成中文变了题目,最高效的方法。         CheckForIllegalCrossThreadCalls和control.Invoke有什么不同...

C# WinForm获取当前路径汇总

Winform获取应用程序的当前路径的方法集合,具体如下,值得收藏//获取当前进程的完整路径,包含文件名(进程名)。string str = this.GetType().Assembly.Location;result: X:xxxxxxxxx.exe (.exe文件所在的目录+.exe文件名)//获取新的Process 组件并将其与当前活动的进程关联的...