完美解决layui多图上传时,动态给每个图片增加参数

需求:当我在使用layui框架上传多图时,我想动态给每一张图都把它的名称传给后台

data: {id: function(){return $('#id').val();}
}

这是官网给的动态传参的方法

我自己根据官网给的案例设置 

data:{filesIndex:function(index, file){return file.name}},
//file.name  是我们上传图片的名称

完整代码

var filesName = ''layui.use(['form','upload','element', 'layer'],function(){var form = layui.form;var upload = layui.upload;var element = layui.element;var $ = layui.$;// 制作多文件上传表格var fileNum = 0;var fileNumer =0;var files = []upload.render({elem: '#ID-upload-demo-files',elemList: $('#ID-upload-demo-files-list'), // 列表元素对象url: 'http://192.168.5.38:8084/上传图片的接口地址',//实际使用时改成您自己的上传接口即可。accept: 'file',multiple: true,number:9,auto: true,data:{filesIndex:function(index, file){return file.name}},bindAction: '#ID-upload-demo-files-action',before: function(obj){files = this.files = obj.pushFile(); // 将每次选择的文件追加到文件队列// 读取本地文件obj.preview(function(index, file, result){delete files[index]; // 删除对应的文件})},done: function(res, index, upload){ // 成功的回调var index = index.substring(getLastDotIndex(index)+1)var that = this;var filesName = res.att_enamevar filesImgUrl = ''var nameStr = filesName.substring(getLastDotIndex(filesName)+1)if(nameStr =='jpg' || nameStr=='png' || nameStr=='gif' || nameStr=='jpeg'){filesImgUrl = 'http://192.168.5.38:8084/sh/files'+res.att_path+res.att_ename}else if(nameStr=='mp4'){filesImgUrl = 'images/mp4.png'}else if(nameStr=='doc'){filesImgUrl = 'images/word.png'}else if(nameStr=='xlsx'){filesImgUrl = 'images/exl.png'}else if(nameStr=='ppt'){filesImgUrl = 'images/ppt.png'}else if(nameStr=='pdf'){filesImgUrl = 'images/pdf.png'}else if(nameStr=='zip' || nameStr=='rar'){filesImgUrl = 'images/zip.png'}else{filesImgUrl = 'images/pdf.png'}function getLastDotIndex(str) {return str.lastIndexOf('.');}var html=''html+='<li class="bui-btn bui-box">'+'<input name="file' + fileNum + '_title" id="file' + fileNum + '_title" value="' + res.filesIndex + '" type="hidden">'+'<input name="file' + fileNum + '_url" id="file' + fileNum + '_url" class="filesUrl" value="'+res.att_path+res.att_ename+'" type="hidden">'+'<div class="bui-thumbnail">'+'<img src="'+filesImgUrl+'">'+'</div>'+'<div class="span1">'+'<a class="layui-btn layui-btn-xs layui-btn-danger demo-delete" data-name="'+res.att_ename+'">删除</a>'+'<h3 class="item-title">'+res.filesIndex+'</h3>'+'<div class="layui-progress" lay-filter="100%"><div class="layui-progress-bar" lay-percent="100%"></div></div>'+'</div></li>'$('#ID-upload-demo-files-list').append(html);element.render('progress'); // 渲染新加的进度条组件fileNum= fileNum+1fileNumer = fileNumer+1$('.fileNumer').val(fileNumer)$(document).on('click','.demo-delete',function(){delete files[index]; // 删除对应的文件$(this).parent().parent('li').remove()var files_listSize = $('#ID-upload-demo-files-list').find('li.bui-box').length;fileNumer=fileNumer--if(files_listSize==0){$('.fileNumer').val('');fileNumer=0}else{fileNumer = files_listSize$('.fileNumer').val(fileNumer);}})return;this.error(index, upload);},allDone: function(obj){ // 多文件上传完毕后的状态回调
//  	console.log(obj)},error: function(index, upload){ // 错误回调var that = this;},progress: function(n, elem, e, index){ // 注意:index 参数为 layui 2.6.6 新增element.progress('progress-demo-'+ index, n + '%'); // 执行进度条。n 即为返回的进度百分比}});/这是最终提交的代码/form.on('submit(formDemo)', function(data){var field = data.field;$('.submitForm').addClass('layui-btn-disabled');var index = layer.load(3, {shade: true},);setTimeout(function(){$.ajax({type:"post",url:"http://192.168.5.38:8084/sh/front/提交接口地址",async:true,data:field,success(res){var ress = JSON.parse(res)if(ress.result=="success"){layer.close(index);layer.msg('提交成功');}setTimeout(function(){location.reload();},800)},error(err){layer.close(index);layer.msg('提交错误');$('.submitForm').removeClass('layui-btn-disabled');}});},1000);return false;});///
});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/788467.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是智慧公厕?智慧旅游下的智慧公厕功能和特点

智慧旅游下的智慧公厕功能和特点&#xff1f;智慧旅游是景区、公园、游乐场、文化场馆等领域的一种信息化解决方案&#xff0c;智慧公厕是智慧旅游极为重要的一部分&#xff0c;能大大提升游客满意度。智慧公厕采用物联网、互联网、大数据、云计算等技术&#xff0c;实现旅游景…

gitlab备份与恢复

1.1.1 查看系统版本和软件版本 cat /etc/debian_version cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 1.1.2 数据备份 打开/etc/gitlab/gitlab.rb配置文件&#xff0c;查看一个和备份相关的配置项 sudo vim /etc/gitlab/gitlab.rb gitlab_rails[backup_path] &q…

ffmpeg点对点音视频udp协议传输

参考&#xff1a;https://zhuanlan.zhihu.com/p/636152437?utm_id0 ffmpeg查看可用设备&#xff1a; ffmpeg -list_devices true -f dshow -i dummy1、音频 局域网内两台设备间 设备1-音频&#xff1a; ffmpeg -f dshow -i audio"麦克风阵列 (适用于数字麦克风的英特…

使用Excel连接Azure DevOps自动退出的问题

Azure DevOps Server (原名TFS)是微软公司的软件开发管理平台&#xff0c;也是著名的软件开发过程管理工具&#xff1b;系统中记录了软件开发过程中的需求、问题、缺陷和迭代计划等各种软件开发工作项数据。 对于工作项数据的批量操作(例如新增和编辑)&#xff0c;Excel是一个非…

zabbix图表时间与服务器时间不一致问题

部署完zabbix后&#xff0c;有时候会发现zabbix服务器的时间明明是对的&#xff0c;但是图标的时间不对&#xff0c;通过以下的配置可以快速解决。 登录zabbix-nginx容器 docker exec -u root -it docker-compose-zabbix-zabbix-web-nginx-mysql-1 bash修改php配置文件 vi /e…

SpringData ElasticSearch - 简化开发,完美适配 Spring 生态

目录 一、SpringData ElasticSearch 1.1、环境配置 1.2、创建实体类 1.3、ElasticsearchRestTemplate 的使用 1.3.1、创建索引 设置映射 1.3.2、简单的增删改查 1.3.3、搜索 1.4、ElasticsearchRepository 1.4.1、使用方式 1.4.2、简单的增删改查 1.4.3、分页排序查…

Linux系统下安装jdk与tomcat【linux】

一、yum介绍 linux下的jdk安装以及环境配置&#xff0c;有两种常用方法&#xff1a; 1.使用yum一键安装。 2.手动安装&#xff0c;在Oracle官网下载好需要的jdk版本&#xff0c;上传解压并配置环境。 这里介绍第一种方法&#xff0c;在此之前简单了解下yum。 yum 介绍 yum&…

57 npm run build 和 npm run serve 的差异

前言 npm run serve 和 npm run build 的差异 这里主要是从 vue-cli 的流程 来看一下 我们经常用到的这两个命令, 他到传递给 webpack 打包的时候, 的一个具体的差异, 大致是配置了那些东西? 经过了那些流程 ? vue-cli 的 vue-plugin 的加载 内置的 plugin 列表如下, 依次…

【Servlet】session保存作用域

session保存作用域&#xff1a;一次会话范围都有效 Java的服务器端&#xff0c;有一块内存专门存储在session保存作用域的数据。 session保存作用域是和具体的某一个session对应的。 常用API&#xff1a; void session.setAttribute(k, v)Object session.getAttrivute(k) —…

平滑处理在眼动追踪数据分析中的应用

眼动追踪数据的平滑处理技术 眼动追踪技术作为研究人类视觉注意、界面设计效果评估以及增强现实&#xff08;AR&#xff09;和虚拟现实&#xff08;VR&#xff09;中交云互动的重要工具&#xff0c;其准确性和流畅性对实验结果和用户体验至关重要。然而&#xff0c;由于测量误…

【Go】二十、反射

文章目录 1、反射2、对基本数据类型反射3、对结构体进行反射4、获取变量的类别5、通过反射修改基本类型变量的值6、通过反射操作结构体的属性和方法 1、反射 //核心包 import ("reflect")通过反射&#xff1a; 可以在运行时动态获取变量的类型、获取结构体的信息&a…

Node.js基本命令

以下是一些常用的Node.js命令&#xff1a; Node.js基本命令 node&#xff1a;用于运行一个Node.js脚本文件。例如&#xff1a;node app.js。node -v&#xff1a;查看已安装的Node.js版本。 npm命令 npm是Node.js的包管理工具&#xff0c;用于安装、升级、卸载和管理Node.js…

【二叉树】Leetcode 124. 二叉树中的最大路径和【困难】

二叉树中的最大路径和 二叉树中的 路径 被定义为一条节点序列&#xff0c;序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点&#xff0c;且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根…

机器学习的特征选择方法

有时候特征太多了也是一个问题&#xff0c;容易过拟合。为了降低模型的复杂程度&#xff0c;降低过拟合的可能性&#xff0c;我们会减少需要的学习的特征。 特征选择法主要有三种&#xff0c;分别是过滤法&#xff0c;包裹法和嵌入法。 1.过滤法 这种方法主要是基于统计检验…

【QT+QGIS跨平台编译】056:【pdal_json_schema+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

点击查看专栏目录 文章目录 一、pdal_json_schema介绍二、pdal下载三、文件分析四、pro文件五、编译实践一、pdal_json_schema介绍 pdal_json_schema 是与 PDAL(Point Data Abstraction Library)相关的 JSON 模式文件。PDAL 是一个用于处理和分析点云数据的开源库。JSON 模式…

wpf Line

详细解释 <Canvas x:Name"canvas"><Line x:Name"flowLine" X1"20" Y1"40" X2"400" Y2"100" StrokeDashArray"2,1" Stroke"Green" StrokeThickness"8"/><Line X1&q…

安装gitlab笔记

安装vim编辑器 yum install vim -y安装ssh协议&#xff0c;在CentOs系统上安装所需的依赖:ssh&#xff0c;防火墙,postfix(用于邮件通知)wget&#xff0c;以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问 yum install -y curl policycoreutils-python openssh-server设…

ISP代理和数据中心IP的不同

ISP代理和数据中心IP在网络应用中都扮演着重要的角色 【定义】 ISP代理是由互联网服务提供商&#xff08;ISP&#xff09;提供的代理服务器。ISP代理的IP地址由ISP分配&#xff0c;这使得用户可以获得一个合法且唯一的IP地址&#xff0c;该地址隐藏了用户的实际位置。而数据中…

AutoMQ 1.1.0-RC0 重磅更新:内核升级到 Apache Kafka 3.7.0

AutoMQ 在 2024.02 正式发布了基于 Apache Kafka 3.4.0 的云原生重构版本 1.0.0&#xff0c;AutoMQ 1.0.0 版本相比原版提供了 Serverless、自动负载均衡、秒级分区迁移和 All in 对象存储能力&#xff0c;让 Kafka 用户能充分利用云的弹性能力和廉价存储&#xff0c;实现十倍成…

Flutter混淆方案对应用性能的影响分析与优化

在移动应用开发中&#xff0c;保护应用代码安全至关重要。Flutter 提供了简单易用的混淆工具&#xff0c;帮助开发者在构建 release 版本应用时有效保护代码。本文将介绍如何在 Flutter 应用中使用混淆&#xff0c;并提供了相关的操作步骤和注意事项。 &#x1f4dd; 摘要 本…