java zyUpload 实现多文件上传
1、html部分
<form enctype="multipart/form-data">
<label>请选择文件</label> <input id="file" class="file" type="file">
</form>
2、js部分
$("#file").fileinput({
uploadUrl: Config.Java_Manage_Path+'black/uploadBlack',
allowedFileExtensions: ['xls', 'xlsx'],
dropZoneEnabled: false,
browseLabel:"选择",
showRemove: false,
showUpload: false,
uploadLabel: "提交",
showCancel: false,
maxFileSize: 6000,
msgSizeTooLarge: '"{name}" ({size} KB) 不得超过 {maxSize} KB. 请重新选择文件',
fileActionSettings: {
showZoom: false,//不显示预览按钮
uploadTitle: "上传",
removeTitle: "删除"
},
progressUploadThreshold: "导入中,请稍后...",
msgInvalidFileExtension: '仅支持 "{extensions}" 类型的文件.'
});
//点击上传后隐藏关闭按钮
$('#file').on('filepreupload', function(event, data, previewId, index) {
// var form = data.form, files = data.files, extra = data.extra,
// response = data.response, reader = data.reader;
// console.log('File pre upload triggered');
$("#close").hide();
});
//上传完毕显示关闭按钮
$('#file').on('fileuploaded', function(event, data, previewId, index) {
/*var form = data.form, files = data.files, extra = data.extra,
response = data.response, reader = data.reader;
console.log('File uploaded triggered');*/
var response = data.response;
if(response.result == "ok"){
$.messager.popup("导入成功");
}else{
$.messager.popup("服务器可能出错了,请稍候再试");
}
$("#close").show();
$("#upload").modal("hide");
doSearch();
});
3、controller部分
//创建一个通用的多部分解析器
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(req.getSession().getServletContext());
//判断 request 是否有文件上传,即多部分请求
if(multipartResolver.isMultipart(req)){
//转换成多部分request
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) req;
// 取得request中的所有文件名
Iterator<String> iter = multiRequest.getFileNames();
if(iter.hasNext()) {
// 取得上传文件
MultipartFile file = multiRequest.getFile(iter.next());
String fileName = file.getOriginalFilename(); if (!fileName.endsWith(".xls") && !fileName.endsWith(".xlsx")) {
this.response(req, res, false);
}
String newName = DateUtil.dateToStringT(new Date()) + fileName;
File targetFile = new File(upload_path, newName);
// 保存
// try {
// file.transferTo(targetFile);
// } catch (Exception e) {
// e.printStackTrace();
// this.response(req, res, false,ResultCode.getMessage(ResultCode.EXCEPTION));
// }
FileOutputStream os = null;
InputStream in = null;
// 保存
try {
os = new FileOutputStream(upload_path+"/"+newName);
//拿到上传文件的输入流
in = file.getInputStream();
//以写字节的方式写文件
int b = 0;
while((b=in.read()) != -1){
os.write(b);
} } catch (Exception e) {
e.printStackTrace();
this.response(req, res,false,
ResultCode.getMessage(ResultCode.EXCEPTION));
}finally{
os.flush();
os.close();
in.close();
}
// 读取excel
ExcelImportUtil excelUtil = new ExcelImportUtil();
excelUtil.setExcelPath(targetFile.getPath());
excelUtil.setStartReadPos(1);
List<Row> rowList = excelUtil.readExcel(); if (!(rowList != null && rowList.size() > 0)) {
this.response(req, res, false,
ResultCode.getMessage(ResultCode.FILE_READ_ERROR));
}
//读取文件内容添加到数据库
Map<String, Object> map = blacklistservice.addBlackList( excelUtil, rowList);
if (map != null) {
this.response(req, res, JsonUtil.toJson(map));
} else {
this.response(req, res, false,
ResultCode.getMessage(ResultCode.EXCEPTION)); }
}
} }
java zyUpload 实现多文件上传的更多相关文章
- JAVA Web 之 struts2文件上传下载演示(二)(转)
JAVA Web 之 struts2文件上传下载演示(二) 一.文件上传演示 详细查看本人的另一篇博客 http://titanseason.iteye.com/blog/1489397 二.文件下载 ...
- JAVA Web 之 struts2文件上传下载演示(一)(转)
JAVA Web 之 struts2文件上传下载演示(一) 一.文件上传演示 1.需要的jar包 大多数的jar包都是struts里面的,大家把jar包直接复制到WebContent/WEB-INF/ ...
- Java 利用SWFUpload多文件上传 session 为空失效,不能验证的问题 swfUpload多文件上传
Java 利用SWFUpload多文件上传 session 为空失效,不能验证的问题(转) 我们都知道普通的文件上传是通过表单进行文件上传的,还不能达到异步上传的目的.通过使用某些技术手段,比如jqu ...
- zyUpload+struct2完成文件上传
前言: 最近在写自己的博客网站,算是强化一下自己对s2sh框架的理解.期间遇到了很多问题,这些问题在写之前都考虑过,感觉也就是那样吧.但正真遇到了,也挺让人难受的.就利用zyUpload这个js插件实 ...
- selenium+java利用AutoIT实现文件上传
转自https://www.cnblogs.com/yunman/p/7112882.html?utm_source=itdadao&utm_medium=referral 1.AutoIT介 ...
- java常见3种文件上传速度对比和文件上传方法详细代码
在java里面文件上传的方式很多,最简单的依然是FileInputStream.FileOutputStream了,在这里我列举3种常见的文件上传方法代码,并比较他们的上传速度(由于代码是在本地测试, ...
- Java精选笔记_文件上传与下载
文件上传与下载 如何实现文件上传 在Web应用中,由于大多数文件的上传都是通过表单的形式提交给服务器的,因此,要想在程序中实现文件上传的功能,首先得创建一个用于提交上传文件的表单页面. 为了使Serv ...
- java使用commons-fileupload进行文件上传
java中使用文件上传时需要使用特定的类库,这里使用commons-files类库进行文件上传,在http://commons.apache.org/proper/commons-fileupload ...
- 【Java】后台将文件上传至远程服务器
问题:由于系统在局域网(能访问外网)内,但外网无法请求局域网内服务器文件和进行处理文件. 解决:建立文件服务器,用于存储文件及外网调用. 客户端(文件上传): package cn.hkwl.lm.u ...
随机推荐
- 3ds Max制作欧式风格的墙壁路灯效果
在这篇文章中,我将解释我创建我的形象元宵节的步骤.我只是在寻找一个很好的参考图像在互联网上的东西,我觉得我想要的模型,这个形象.我发现了一个巨大的灯笼形象,但在白天的图片拍摄.我想改变我的形象和显示的 ...
- django patch
import datetime import pytz from django.apps import AppConfig from django.db.models.fields import Da ...
- Kendo UI diagram 更改connnect线颜色,及shapes的属性值
1.改diagram中连线的颜色:redraw一下就OK // Change the Line Green diagram.connections[indexS].redraw({ stroke:{ ...
- webpack配置相关的页面异常
原文:https://www.cnblogs.com/Hsong/p/9023341.html 前言 在团队协作开发中,为了统一代码风格,避免一些低级错误,应该设有团队成员统一遵守的编码规范.很多语言 ...
- JavaScript 实现留言框
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Vue轮播图插件---Vue-Awesome-Swiper
轮播图插件 Vue-Awesome-Swiper 地址:https://github.com/surmon-china/vue-awesome-swiper 安装:npm install vue-aw ...
- js常用特效-幻灯片
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 洛谷——P2822 组合数问题
https://www.luogu.org/problem/show?pid=2822 题目描述 组合数C_n^mCnm表示的是从n个物品中选出m个物品的方案数.举个例子,从(1,2,3) 三 ...
- maven 构建web项目
Maven规定,必须创建以下几个Source Folder src/main/resources src/main/Java src/test/resources src/test/java 添加以上 ...
- php学习之道:php empty()和isset()的差别
在使用 php 编写页面程序时,我常常使用变量处理函数推断 php 页面尾部參数的某个变量值是否为空,開始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问 ...