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. AutoCompleteTextView,MultiAutoCompleteTextView 用法举例

    AutoCompleteTextView  按下去变红色 MultiAutoCompleteTextView(用逗号可以添加多个关键字) AutoCompleteTextView,MultiAutoC ...

  2. Protobuf 协议语言指南

    l  定义一个消息(message)类型 l  标量值类型 l  Optional 的字段及默认值 l  枚举 l  使用其他消息类型 l  嵌套类型 l  更新一个消息类型 l  扩展 l  包(p ...

  3. Can't create pdf file with font calibri bold 错误解决方案

    错误情况: %%[ ProductName: Distiller ]%% Mangal not found, using Courier. %%[ Error: invalidfont; Offend ...

  4. USB线插拔检测使用UEventObserver检测uevent事件的分析

    说实话这玩样儿的代码量真的很少,大家如果能耐得住性子啃一会儿也就能撸懂了. 在这之前研究USB线插拔的时候就知道了有这么个东西,当时也就看了看,但没做什么笔记.最近想用起来,却发现就只有个名字在记忆中 ...

  5. boost::asio::ip::tcp实现网络通信的小例子

    同步方式: Boost.Asio是一个跨平台的网络及底层IO的C++编程库,它使用现代C++手法实现了统一的异步调用模型. 头文件 #include <boost/asio.hpp> 名空 ...

  6. 很不错的python 机器学习博客

    http://www.cuijiahua.com/resource.html 曾看过的书,感觉一些很有用的学习资料,推荐给大家! Python基础: 网络教程推荐: 系统学习python3可以看廖雪峰 ...

  7. 基于libnids的TCP数据流的还原(多线程实现) .

    我们知道,libnids本身可以实现TCP数据流的重组,但是如果一个TCP流数据量比较大的时候,就会分成好多个TCP报文段,这些报文段在网络中的传播可能是乱序的,利用libnids可以帮助我们按顺序接 ...

  8. System.Diagnostics.Debug和System.Diagnostics.Trace

    在 .net 类库中有一个 system.diagnostics 命名空间,该命名空间提供了一些与系统进程.事件日志.和性能计数器进行交互的类库.当中包括了两个对开发人员而言十分有用的类——debug ...

  9. delphi判断.net FrameWork是否已安装

    判断系统中.NET FrameWork已安装版本的方法很多,比如检查C:\Windows\Microsoft.NET\Framework\下的子目录,但是子目录往往是包含版本号,比如v2.0.5072 ...

  10. 强化学习之Q-learning简介

    https://blog.csdn.net/Young_Gy/article/details/73485518 强化学习在alphago中大放异彩,本文将简要介绍强化学习的一种q-learning.先 ...