1:upload.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="./layui/css/layui.css" media="all">
</head>
<body>
<div class="layui-container">
<div class="layui-row" align="center" style="margin-top: 30px;">
<button type="button" class="layui-btn" id="upload">
<i class="layui-icon"></i>选择文件</button>
</div>
<div class="layui-row" align="center" style="margin-top: 30px;">
<textarea id="result" cols="50" rows="10"></textarea>
</div>
</div>
</body> <script src="./jquery/jquery.min.js"></script>
<script src="./layui/layui.js"></script> <script>
layui.use('upload', function(){
var upload = layui.upload; //执行上传
var uploadInst = upload.render({
elem: '#upload' //绑定元素
,url: '/ssfwpt/ra/ramanage' //上传接口
,method: 'POST'
,accept: 'file'
,size: 50
,before: function(obj){
layer.load();
}
,done: function(res){//上传完毕回调
layer.closeAll('loading');
var result = ''; for(var i=0; i<res.length; i++){
result = result + res[i].nsrsbh+"="+res[i].container+"\n";
} $("#result").html(result);
}
,error: function(){//请求异常回调
layer.closeAll('loading');
layer.msg('网络异常,请稍后重试!');
}
});
});
</script>
</html>

2:后台(Spring-boot)

/**
* 实现文件上传
* */
@RequestMapping(value = "/ramanage", method = RequestMethod.POST)
@ResponseBody
public List<Map<String,String>> ramanage(@RequestParam("file") MultipartFile file){
List<Map<String,String>> result = new ArrayList<>(); try {
InputStream input = file.getInputStream(); Workbook wb = new HSSFWorkbook(input); Sheet sheet = wb.getSheetAt(0); int rowNum = sheet.getLastRowNum()+1; Map<String,String> map;
for(int i=1; i<rowNum; i++){
Row row = sheet.getRow(i); //容器名称
Cell containerCell = row.getCell(0);
String container = containerCell.getStringCellValue(); //税号
Cell nsrsbhCell = row.getCell(1);
String nsrsbh = nsrsbhCell.getStringCellValue(); map = new HashMap<>();
map.put("nsrsbh", nsrsbh);
map.put("container", container); result.add(map);
}
} catch (IOException e) {
e.printStackTrace();
} return result;
}

Layer文件上传操作的更多相关文章

  1. python-web自动化-文件上传操作(非input标签的上传,需要借助第三方工具)

    文件上传操作 一.文件上传分两种情况:1. 如果是input可以直接输入路径的,可以直接调send_keys输入路径 2. 非input标签的上传,需要借助第三方工具:    2.1 Autolt 需 ...

  2. ui自动化chrome文件上传操作

    web自动化,再chrome浏览器中文件上传操作

  3. PHP多文件上传操作

    在前一篇文章里讲到了关于PHP文件上传原理和简单操作举例是单文件上传. http://www.cnblogs.com/lichenwei/p/3879566.html 其实多文件上传和单文件上传大同小 ...

  4. jsp 文件上传操作

    文件上传 1:完成一个文件上传的功能 index.jsp 注意更换form表单的enctype enctype就是encodetype就是编码类型的意思. multipart/form-data是指表 ...

  5. python - web自动化测试 - 文件上传操作

    # 12. 上传操作## (1)如果是input可以直接输入路径的,直接使用send_keys输入路径# (2)非input标签的,需要借助第三方工具:# A. AutoIt : 调用其生成的au3或 ...

  6. 基于python的selenium两种文件上传操作

    方法一.input标签上传     如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径,这里不做过多赘述,前文有相关操作方法. 方法二.非input标签上传 这种上传方 ...

  7. Layer文件上传同时传递表单数据

    (1)index.html <!DOCTYPE html> <html> <head> <title>TODO supply a title</t ...

  8. SVN库文件上传操作步骤

    SVN库文件上传步骤: 1,sv st  或 svn status  查看本地库与远程库的差别(M代表文件有修改,?代表目录中有文件本地新增加) 2,根据1步骤中的查看结果:svn diff  差异文 ...

  9. 彻底搞懂HTML5文件上传操作需要的相关资料

    https://developer.mozilla.org/zh-CN/docs/Web/GuideMDN Web Guide https://developer.mozilla.org/zh-CN/ ...

随机推荐

  1. WordPress主题开发实例:根据不同分类使用不同模板

    分类实现效果: 点击"产品"相关分类,显示 否则显示 创建文件: category.php cat-news.php cat-product.php 由于点击分类时wordpres ...

  2. ExtJS学习-----------Ext.Array,ExtJS对javascript中的Array的扩展(实例)

    (1)clean var arr = [1,2,null,3,'']; alert(Ext.Array.clean(arr)); //clean的对象:(value === null) || (val ...

  3. java 解压zip java.lang.IllegalArgumentException: MALFORMED 错误

    ava.lang.IllegalArgumentException: MALFORMED at java.util.zip.ZipCoder.toString(Unknown Source) at j ...

  4. IOS Devices Version

    游戏项目中有一个专门用于收集IOS崩溃的接口和查询页,运营/测试的同事有时候会通过查询页大概看一下每日崩溃的情况,经常会问iPhone6,1是什么,iPhone7,1又是什么设备?   我从网上仔细搜 ...

  5. 图像质量评估(IQA)

    图像质量评估函数的分类曾是一个比较有争议的话题,在2l世纪以前曾经有过 比较多的讨论.但是随着研究的深入和技术的广泛应用,研究人员对于图像质量 评估函数的分类有了统一的认识,即从实际应用中参考信息供给 ...

  6. ASP.NET C#根据HTML页面导出PDF

    在启明星采购系统里,新增了导出PDF功能.整个功能使用了第三方软件 wkhtmltopdf(下载) 官网 https://wkhtmltopdf.org/ 提供有更多版本下载 他可以把HTML页面转换 ...

  7. Linux Command : top

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程所占用的系统资源,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是一个动态显示过程,即可以通过用户按键来不断刷 ...

  8. go语言之进阶篇Ticker的使用

    Ticker是一个定时触发的计时器,它会以一个间隔(interval)往channel发送一个事件(当前时间),而channel的接收者可以以固定的时间间隔从channel中读取事件. 1.Ticke ...

  9. go语言之进阶篇runtime包中 Gosched Goexit GOMAXPROCS的使用

    一.runtime包 1.Gosched的使用 runtime.Gosched() 用于让出CPU时间片,让出当前goroutine的执行权限,调度器安排其他等待的任务运行,并在下次某个时候从该位置恢 ...

  10. Mac-OSX下Ruby更新

    Mac下是自带Ruby环境的,在有些情况我们是需要更新Ruby的,安装和更新Ruby环境可以通过rvm命令进行操作,rvm在安装过程中通过HomeBrew安装依赖包,如果之前没有装过HomeBrew, ...