使用layui上传文件时显示进度条

一、效果如下

在这里插入图片描述在这里插入图片描述

二、引入layui

可到layui官网下载 https://www.layui.com/

https://www.layui.com/

在这里插入图片描述
在这里插入图片描述

三、页面代码

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

四、后台代码

后台代码没有写逻辑,自行编写 (@RequestMapping 改为自己的即可 ,注意和前端请求保持一致)
在这里插入图片描述

五、代码(直接copy即可)

引入代码

前端

<link rel="stylesheet" href="${pageContext.request.contextPath}/views/static/layui-v2.6.8/layui/css/layui.css">
<script src="${pageContext.request.contextPath}/views/static/layui-v2.6.8/layui/layui.js"></script>

html代码

<div class="form-group">
    <label for="imgBtn" class="col-sm-2 control-label">上传头像</label>
    <div class="col-sm-10" style="width: 300px;">
        <button type="button" class="layui-btn layui-btn-radius layui-btn-normal" id="imgBtn">
            <i class="layui-icon">&#xe67c;</i>上传头像
        </button>
    </div>
</div>
<div class="form-group">
    <div class="col-sm-10 col-sm-offset-2" style="width: 300px;">
        <div class="layui-progress" lay-showPercent="yes">
            <div class="layui-progress-bar" id="uploadImg" lay-percent="0%"></div>
        </div>
    </div>
</div>

js代码

var element = layui.element, form = layui.form, layer = layui.layer, table = layui.table, laydate = layui.laydate, util = layui.util, tree = layui.tree , upload = layui.upload;
element.render();


layui.use('upload', function () {
	var upload = layui.upload;
	//执行实例
	var uploadInst = upload.render({
		elem: '#imgBtn' //绑定元素
		, url: '${pageContext.request.contextPath}/setting/user/fileUpload/' //上传接口
		, done: function (res) {
		//上传完毕回调
		layer.alert("上传成功", {icon: 1, offset: 't'});
		}
		, error: function () {
		//请求异常回调
		}
		, progress: function (n) {
		var percent = n + '%' //获取进度百分比
		$("#uploadImg").attr("lay-percent", percent);
		element.render(); //进度条
		}
	});
});

后台

@RequestMapping("fileUpload")
    @ResponseBody
    public ResultVo fileUpload(MultipartFile file) {
        ResultVo resultVo = new ResultVo();
        resultVo.setOk(true);
        return resultVo;
    }
### 回答1: 以下是使用layui编写上传文件页面的示例代码: HTML代码: ``` <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>上传文件</title> <link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.5.6/css/layui.min.css"> </head> <body> <div class="layui-container"> <div class="layui-row"> <div class="layui-col-md12"> <form class="layui-form" action=""> <div class="layui-form-item"> <label class="layui-form-label">上传文件</label> <div class="layui-input-block"> <button type="button" class="layui-btn" id="test1"> <i class="layui-icon"></i>上传文件 </button> </div> </div> </form> </div> </div> </div> <script src="https://cdn.staticfile.org/layui/2.5.6/layui.min.js"></script> <script> layui.use(['upload', 'element'], function(){ var upload = layui.upload; var element = layui.element; //执行实例 var uploadInst = upload.render({ elem: '#test1', //绑定元素 url: '/upload/', //上传接口 done: function(res){ //上传完毕回调 }, error: function(){ //请求异常回调 } }); }); </script> </body> </html> ``` 在这个示例代码中,我们使用Layui上传组件,使用`upload.render`方法来初始化上传组件,其中: - `elem`参数指定绑定上传文件的元素,这里我们使用了一个按钮元素。 - `url`参数指定上传文件的接口地址。 - `done`和`error`参数分别指定上传成功和上传失败后的回调函数。 注意,在使用Layui上传组件,需要同引入Layui的`upload`和`element`模块。 当用户点击上传文件按钮后,上传组件会自动弹出文件选择框,用户选择好要上传的文件后,上传组件会自动将文件上传到指定的接口地址,上传完成后会调用`done`回调函数。 你需要将示例代码中的上传接口地址替换为你自己的接口地址,才能使上传功能正常工作。 ### 回答2: Layui 是一款简洁、易用的前端框架,它提供了丰富的组件和接口,便于开发者快速创建美观的网页。 要编写一个上传文件页面,首先需要引入 Layui 的相关文件。可以通过 CDN 或者下载本地文件的方式引入。然后在 HTML 页面的头部加上必要的样式和脚本链接。 接着,在页面的主体部分创建一个表单,包含一个文件选择框和一个提交按钮。使用 Layui 的 form 模块可以方便地创建表单,并且提供了上传文件的功能。 在表单中,可以使用 Layuiupload 组件来选择文件并上传。首先需要给文件选择框定义一个 id,并在脚本中通过 layui.upload 方法初始化该组件。通过设定上传接口的 url 和一些配置项,如上传完成的回调函数,可以实现文件上传的功能。 在上传完成的回调函数中,可以对上传成功或失败的情况进行处理。如果上传成功,可以通过 alert 或者其他方式提示用户上传成功;如果上传失败,可以给出相应的错误提示。 最后,可以对页面进行美化,添加一些样式和交互效果,如上传进度条、文件预览等等。Layui 提供了丰富的组件和接口,可以根据具体需求进行定制。 总结来说,使用 Layui 编写上传文件页面的步骤为:引入 Layui 的相关文件,创建表单,使用 upload 组件进行文件选择和上传,处理上传结果,并对页面进行美化。Layui 提供了丰富的功能和易用的接口,可以帮助开发者快速创建上传文件页面。 ### 回答3: 使用layui编写上传文件页面,首先需要引入layui的相关资源文件,包括layui.css和layui.js。然后,创建一个HTML页面,并在页面中添加一个表单元素,用于选择文件。 然后,使用layui的form组件,将表单元素渲染为layui表单。定义一个按钮,用于触发文件上传操作。 接下来,使用layuiupload组件,初始化文件上传操作。通过传入一些配置参数,如上传接口、文件类型等来实现文件上传功能。在上传成功后,可以通过回调函数来处理上传成功后的操作,例如刷新页面或显示上传成功的提示信息。 在处理文件上传之前,可以通过layUI的element和layer组件,添加一些交互性的效果。例如,在文件上传过程中,可以使用layer组件的loading方法,显示一个加载动画,提高用户体验。 最后,使用layui的模块化加载机制,将页面中需要的模块进行引入和调用,以保持代码的整洁和易维护性。 在以上的基础上,还可以根据具体需求进行一些优化和扩展,例如添加上传进度条、限制上传文件大小等功能,以满足实际需求。最后,测试并调试上传文件页面,确保其正常运行和用户体验良好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学Java的小蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值