springboot 上传文件解析入库_SpringBoot + easyexcel + WebUploader 实现文件上传并解析
1. WebUploader的使用,引入css和js,css其实没什么用:
2. 定义上传框:
开始上传
3.相关jquery:
// 文件上传
jQuery(function() {
var $ = jQuery,
$list = $('#thelist'),
$btn = $('#ctlBtn'),
state = 'pending',
uploader;
uploader = WebUploader.create({
// 不压缩image
resize: false,
// swf文件路径
swf: '/js/Uploader.swf',
// 文件接收服务端。
server: 'http://webuploader.duapp.com/server/fileupload.php',
// 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: '#picker'
});
// 当有文件添加进来的时候
uploader.on( 'fileQueued', function( file ) {
$list.append( '
'
' + file.name + '
' +
'
等待上传...
' +
'
' );
});
// 文件上传过程中创建进度条实时显示。
uploader.on( 'uploadProgress', function( file, percentage ) {
var $li = $( '#'+file.id ),
$percent = $li.find('.progress .progress-bar');
// 避免重复创建
if ( !$percent.length ) {
$percent = $('
'
'
' +
'
').appendTo( $li ).find('.progress-bar');
}
$li.find('p.state').text('上传中');
$percent.css( 'width', percentage * 100 + '%' );
});
uploader.on( 'uploadSuccess', function( file ) {
$( '#'+file.id ).find('p.state').text('已上传');
});
uploader.on( 'uploadError', function( file ) {
$( '#'+file.id ).find('p.state').text('上传出错');
});
uploader.on( 'uploadComplete', function( file ) {
$( '#'+file.id ).find('.progress').fadeOut();
});
uploader.on( 'all', function( type ) {
if ( type === 'startUpload' ) {
state = 'uploading';
} else if ( type === 'stopUpload' ) {
state = 'paused';
} else if ( type === 'uploadFinished' ) {
state = 'done';
}
if ( state === 'uploading' ) {
$btn.text('暂停上传');
} else {
$btn.text('开始上传');
}
});
$btn.on( 'click', function() {
if ( state === 'uploading' ) {
uploader.stop();
} else {
uploader.upload();
}
});
});
4. 这样就可以了,贴一下完整代码:html>
WebUploader
开始上传
// 文件上传
jQuery(function() {
var $ = jQuery,
$list = $('#thelist'),
$btn = $('#ctlBtn'),
state = 'pending',
uploader;
uploader = WebUploader.create({
// 不压缩image
resize: false,
// swf文件路径
swf: '/js/Uploader.swf',
// 文件接收服务端。
server: 'http://webuploader.duapp.com/server/fileupload.php',
// 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: '#picker'
});
// 当有文件添加进来的时候
uploader.on( 'fileQueued', function( file ) {
$list.append( '
'
' + file.name + '
' +
'
等待上传...
' +
'
' );
});
// 文件上传过程中创建进度条实时显示。
uploader.on( 'uploadProgress', function( file, percentage ) {
var $li = $( '#'+file.id ),
$percent = $li.find('.progress .progress-bar');
// 避免重复创建
if ( !$percent.length ) {
$percent = $('
'
'
' +
'
').appendTo( $li ).find('.progress-bar');
}
$li.find('p.state').text('上传中');
$percent.css( 'width', percentage * 100 + '%' );
});
uploader.on( 'uploadSuccess', function( file ) {
$( '#'+file.id ).find('p.state').text('已上传');
});
uploader.on( 'uploadError', function( file ) {
$( '#'+file.id ).find('p.state').text('上传出错');
});
uploader.on( 'uploadComplete', function( file ) {
$( '#'+file.id ).find('.progress').fadeOut();
});
uploader.on( 'all', function( type ) {
if ( type === 'startUpload' ) {
state = 'uploading';
} else if ( type === 'stopUpload' ) {
state = 'paused';
} else if ( type === 'uploadFinished' ) {
state = 'done';
}
if ( state === 'uploading' ) {
$btn.text('暂停上传');
} else {
$btn.text('开始上传');
}
});
$btn.on( 'click', function() {
if ( state === 'uploading' ) {
uploader.stop();
} else {
uploader.upload();
}
});
});
5. springboot采用MultipartFile接收,直接转换成输入流读取即可,以前我做的时候不懂先生成文件,再读取文件成输入流,如下:BufferedInputStream fileStream = new BufferedInputStream(file.getInputStream());
6. 代码如下:@PostMapping("/importExcel")
@ResponseBody
public ResultBean importExcel(@RequestParam("file") MultipartFile file) {
ResultBean resultBean = new ResultBean();
try {
BufferedInputStream fileStream = new BufferedInputStream(file.getInputStream());
Sheet sheet = new Sheet(1, 0);
List list = EasyExcelFactory.read(fileStream, sheet);
for (Object obj : list) {
System.out.println(obj);
}
} catch (Exception e) {
e.printStackTrace();
}
return resultBean;
}
7. 当然easyexcel需要引入依赖:
com.alibaba
easyexcel
1.1.2-beat1
8.excel模板:
9.解析结果:
springboot 上传文件解析入库_SpringBoot + easyexcel + WebUploader 实现文件上传并解析相关推荐
- springboot 上传文件解析入库_springboot实现文件上传步骤解析
这篇文章主要介绍了springboot实现文件上传步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 第一步编写上传的前段页面 data-tar ...
- springboot 上传文件解析入库_springboot上传文件的访问
一.上传 public @ResponseBody ApiResult upload(@RequestParam("file") MultipartFile file, @Requ ...
- ftpclient读取服务器文件能获得文件名文件大小0_Spring WEB工程整合使用FTP,ftp文本文件解析入库,文件上传下载
友情提示:文章比较长,方法都是有一层层封装的,阅读需要按照文章顺序阅读 首先写一个简单的FTP工具类,先实现最基本的文件上传,下载,删除,拷贝功能.这里操作FTP是用的commons-net-3.3. ...
- channelsftp 上传文件为空_SpringBoot文件上传下载篇(九)
点击上方蓝色字体,关注我们 上传文件是互联网中应用的场景之一,最典型的情况就是上传头像.文件上传主要是将文件通过IO流传输到服务器的某一个特定的文件夹下. Why->MultipartFile? ...
- SpringBoot——快速整合EasyExcel实现Excel的上传下载
文章目录: 1.EasyExcel 2.Excel的上传(读Excel) 3.Excel的下载(写Excel) 4.结语 1.EasyExcel Hello,大家好啊,好久不见了,自工作之后真的很难腾 ...
- form表单上传文件_SpringBoot中如何使用SpringMVC上传文件?
今天我们要说的这个话题很简单,不要问为啥,因为SpringBoot,哈哈.现在SpringBoot可以说人人都会用了,它的好处是显而易见的,大大的简化了配置,一起来看看吧. 我们分以下3种情况来谈这个 ...
- springboot util 测试类怎么写_SpringBoot入门建站全系列(九)文件上传功能与下载方式...
SpringBoot入门建站全系列(九)文件上传功能与下载方式 Spring对文件上传做了简单的封装,就是用MultipartFile这个对象去接收文件,当然有很多种写法,下面会一一介绍. 文件的下载 ...
- springboot文件上传下载实战 —— 登录功能、展示所有文件
springboot文件上传下载实战 创建项目 pom.xml 数据库建表与环境准备 建表SQL 配置文件 application.properties 整体架构 前端页面 登录页面 login.ht ...
- springboot上传文件临时文件夹找不到不能成功上传问题
错误信息1:org.springframework.web.multipart.MultipartException: Could not parse multipart servlet reques ...
最新文章
- 《数学之美》第11章 如何确定网页和查询的相关性
- Momenta完全无人驾驶首次曝光!城区道路混行无接管,遭遇逆行也不怕,特斯拉Waymo路线二合一...
- request获取网页单选框的值
- C语言 使用指针计算两个整数的和与差
- UITableView优化
- posix多线程有感--API
- Robot Framework--08 List Variables-List变量及其用法
- R语言观察日志(part16)--Google‘s R Style Guide
- 多线程—并发容器与机制
- m_pMainWnd = dlg错误解决方法
- Linux/Ubuntu 单机安装配置 zookeeper
- 使用Latex制作分享,演讲,Presentation用的Slides,PPT——Beamer教程
- [MySql] - 数据库备份还原
- Excel 散点图和折线图的区别
- 在入口文件main.js引入styl报错,不断修改后运行正常了
- java时间段的查询_JAVA实现按时间段查询数据操作的方法
- Springboot科学养宠 omap1计算机毕业设计-课程设计-期末作业-毕设程序代做
- 创始人如何设置公司股权结构?
- Dom获取 属性操作
- 计算机辅助训练对吞咽障碍,吞咽障碍的六大家庭训练方法
热门文章
- where、having、group by、order by、count的使用注意
- webpack入坑指南
- 安卓导航无信号无服务器,无信号导航能用否
- php 删除上传文件,php实现文件上传、下载和删除的方法
- boost 线程 linux,Boost Linux线程第一课
- 二项分布的期望方差证明_关于二项分布
- awk 内嵌正则 提取字符串_使用awk提取字符串中的数字或字母
- oracle binary_integer pls_integer,oracle中binaryinteger与plsinteger的区别
- WeX5 Model 里data ,baasData 数据过滤条件清除 数据初始化
- jeecg自定义datagrid封装列表分页数据显示自定义字段