<!--HTML代码-->
<input type="file" name="uploadFile" id="uploadFile">
<!--JQuery代码-->
$("#uploadFile").on("change", function() {debugger;var obj=$("#uploadFile")[0].files;var formData = new FormData();                      // 创建一个form类型的数据formData.append('file',obj[0]);     // 获取上传文件的数据$.ajax({"url": "","type": "","processData": false, // 将数据转换成对象,不对数据做处理,故 processData: false"contentType": false,    // 不设置数据类型"xhrFields": {                // 这样在请求的时候会自动将浏览器中的cookie发送给后台withCredentials: true},"data": formData,success: function(data) {console.log(data)},error: function(data) {}})})

后端代码

         // 取得上传的文件MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("file");// 得到文件名称String realFileName = file.getOriginalFilename();String suffix = realFileName.substring(realFileName.indexOf("."),realFileName.length());Workbook workbook = null;//判断文件类型(可忽略)if (".xlsx".equals(suffix)) {workbook = new XSSFWorkbook(file.getInputStream());} else {workbook = new HSSFWorkbook(file.getInputStream());}List<WGxZdywCrm> empList = getEmpList(workbook);message=JSONObject.fromObject(empList);

后端可以将获取的文件传到服务器,也可以将文件内容解析出来。

文件内容解析(excel文件)放入对象

List<WGxZdywCrm> wGxZdywCrmList = new ArrayList<>();SimpleDateFormat dateFormatUtil=new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");Sheet sheet = wookbook.getSheetAt(0);//统计excel的行数int rowLen = sheet.getPhysicalNumberOfRows();//excel总行数,记录数=行数-1for (int i = 1; i < rowLen; i++) {WGxZdywCrm wGxZdywCrm = new WGxZdywCrm();Row row = sheet.getRow(i);int startCol = 0;if (row != null) {String fZdywSort = getValue(row.getCell(startCol++));//getValue下面贴出来了String fZdywCrmno = getValue(row.getCell(startCol++));String fZdywBusinesscode = getValue(row.getCell(startCol++));String fZdywContractno = getValue(row.getCell(startCol++));String fZdywCustomercount = getValue(row.getCell(startCol++));String fZdywPhonecount = getValue(row.getCell(startCol++));String fZdywAccepttime = getValue(row.getCell(startCol++));String fZdywFinishtime = getValue(row.getCell(startCol++));String fZdywNote = getValue(row.getCell(startCol++));wGxZdywCrm.setFZdywSort(Long.valueOf(fZdywSort));wGxZdywCrm.setFZdywCrmno(fZdywCrmno);wGxZdywCrm.setFZdywBusinesscode(fZdywBusinesscode);wGxZdywCrm.setFZdywContractno(fZdywContractno);wGxZdywCrm.setFZdywCustomercount(fZdywCustomercount);wGxZdywCrm.setFZdywPhonecount(fZdywPhonecount);wGxZdywCrm.setFZdywAccepttime(dateFormatUtil.parse(fZdywAccepttime));wGxZdywCrm.setFZdywFinishtime(dateFormatUtil.parse(fZdywFinishtime));wGxZdywCrm.setFZdywNote(fZdywNote);wGxZdywCrmList.add(wGxZdywCrm);}}return wGxZdywCrmList;

获取内容

private String getValue(Cell cell) {if (cell == null)return "";if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN) {return String.valueOf(cell.getBooleanCellValue()).trim();} else if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {DecimalFormat df = new DecimalFormat("#");return String.valueOf(df.format(cell.getNumericCellValue())).trim();} else {cell.setCellType(cell.CELL_TYPE_STRING);return String.valueOf(cell.getStringCellValue()).trim();}}

jquery传输文件到后端,后端处理数据。相关推荐

  1. 实时传输文件到服务器,如何将数据实时上传到云服务器

    如何将数据实时上传到云服务器 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 华 ...

  2. mac 上传ftp服务器文件大小,mac与windows通过ftp传输文件

    1.两个系统相互传文件,比较通用的方式是用QQ,两台电脑一台各登陆一个qq,发文件就行了,在同一个网段时,qq会自动转换为按局域网的方式传输. 2.本人不愿安装qq,以ftp方式进行传输,先在wndo ...

  3. JQuery UI之Autocomplete(2)后端获取数据

    1.Autocomplete获取后台数据 首先引入css和js文件,以及对应的HTML代码如下: <link href="../css/jquery-ui.css" rel= ...

  4. python后端与前端数据交互_前端与后端的数据交互(jquery ajax+python flask)

    前端与后端的数据交互,最常用的就是GET.POST,比较常用的用法是:提交表单数据到后端,后端返回json 前端的数据发送与接收 1)提交表单数据 2)提交JSON数据 后端的数据接收与响应 1)接收 ...

  5. 前端js调用后端API获取数据的三种方法(2022.7.25)

    前端js调用后台API获取数据的三种方法(2022.7.25) 前言 需求分析 一个Get实例 浏览器请求 SoapUI软件请求 一个Post实例 浏览器请求 SoapUI软件请求 1.Http简介( ...

  6. 文件上传后端黑名单白名单绕过

    大家好! 我是小黄,很高兴又跟大家见面啦 ! 拒绝水文,从我做起 !!!! 未经允许,禁止转载 ,违者必究!!!! 本实验仅适用于学习和测试 ,严禁违法操作 ! ! ! 今天更新的是: 文件上传后端黑 ...

  7. vue上传大文件/视频前后端(java)代码

    vue上传大文件/视频前后端(java)代码 一.上传组件 二.后端java代码 注意: 一.上传组件 <template><div><!-- 上传组件 -->&l ...

  8. PHP后端连接数据库插入数据

    一.打开phpstudy.怎么搭建phpstudy,我上一个文章里有教. 二.编写代码 在网站根目录下(默认是www文件下)创建一个任意名称的文件夹,文件夹里创建两个php后缀的文件,一个html后缀 ...

  9. 从后端数据库获取数据并传值到前端vue项目的echarts柱状图/折线图/饼图里

    不同图表的数据获取有一定的区别 在这些区别上花了不少功夫试验,把最后成功的方法做个记录,如果有类似项目要做的话,也可看看当个参考. 后端 后端都大同小异,方法上没有区别,在这里以柱状图为例. sql: ...

最新文章

  1. vscode 格式化某一段代码_VSCode格式化代码功能失效的bug解决方法
  2. 网络故障排除工具NeoTraceProTrial325
  3. Teamviewer连接服务器显示不能够全屏 或 向日葵连接服务器不能够全屏 或 Teamviewer只显示一个640x480的分辨率选项
  4. [精华] VI高级命令集锦
  5. Linux IPC实践(4) --System V消息队列(1)
  6. 80后的我们为什么不结婚?
  7. 如何利用Excel将文字颠倒顺序显示
  8. 导航栏一级标题上下箭头切换
  9. python r语言 作图_科学网—生物信息绘图之python绘图 - 孙朋川的博文
  10. centos6添加系统服务
  11. ChinaSoft 论坛巡礼 | 云际计算系统软件
  12. 【STM32】STM32F103C8T6+nrf24l01收发示例
  13. USB设备的VID与PID
  14. vue实现任务周期cron表达式选择组件
  15. 关于锐捷认证与傻瓜路由器
  16. [转]关于iOS多线程,你看我就够了
  17. codeforces B.Maximum Absurdity 解题报告
  18. 打工皇帝唐骏做局 紫金庄家出货手法大曝光
  19. 写个dump_stack【转】
  20. Android P的音频架构(二)

热门文章

  1. 剑指offer_递归与循环---跳台阶
  2. [300iq Contest 1]简要题解
  3. [BZOJ3790]神奇项链
  4. 人工智能--语义网络表示法
  5. 一篇文章学会日志logback的使用
  6. Android软键盘手动显示、隐藏、布局上移和EditText上移
  7. visio调整形状位置_如何在Visio 中设置形状的属性?
  8. 从telnet www.baidu.com 80 来玩一下http
  9. 灵遁者诗歌集《很白很白的云》序言内容
  10. php 屏蔽浸膏,【佳学基因】副甲状腺浸膏基因检测