!!!声明 1-3 是jsp页面所写内容   文中需要的util  参见百度云 http://pan.baidu.com/s/1kV0gqBt   如已失效 请加QQ1940978083

1、首先引入css,js文件

<script type="text/javascript" src="<%=path%>/js/uploadify/jquery.uploadify.min.js"></script>

<link rel="stylesheet" href="<%=path%>/js/uploadify/uploadify.css" type="text/css"></link>

2、 添加html

<form class="form-horizontal">
<div class="col-sm-6 form-group">
<input type="file" name="file_upload" id="file_upload" />
<p class="help-block">请按照模版上传文件</p>
</div>
<div class="col-md-6">
<button id="btn" class="btn btn-primary">
<a style="color:white" href="<%=path %>/document/black.xls">下载模板</a></button>
</div>
</form>

3、调用方法

$("#upload #file_upload").uploadify({
  'fileObjName' : 'file',
  'buttonText': '上传文件',
  'swf' : '<%=path%>/lib/js/uploadify/uploadify.swf',
  'uploader' : '<%=path%>/black/uploadBlack.html?jsessionid=12',    //上传路径    jsessionid是为了火狐上传防止session丢失
  'fileTypeDesc': 'Excel',
  'auto' : true,
  'formData' : {'':''},
  'removeCompleted' : false,
  'fileTypeExts': '*.xls;*.xlsx',
  'onUploadStart' : function(file) {

  $("#upload #file_upload").uploadify("settings","formData", {});
  },
  'onUploadSuccess' : function(file, data, response) {
    //添加成功后返回的结果
  }else{
    //失败后的处理
  }
});

4、

@RequestMapping("uploadBlack")
public void uploadBlack(String jsessionid, @RequestParam(value = "file", required = false) MultipartFile file,
HttpServletRequest req, HttpServletResponse res) throws IOException {

String path = req.getSession().getServletContext().getRealPath("upload");

String fileName = file.getOriginalFilename();

if (!fileName.endsWith(".xls") && !fileName.endsWith(".xlsx")) {
writeStringUTF(errorResult, res);
return;
}
String newName = DateUtil.dateToStringT(new Date()) + fileName;
File targetFile = new File(path, newName);
if (!targetFile.exists()) {
targetFile.mkdirs();
}
// 保存
try {
file.transferTo(targetFile);
} catch (Exception e) {
e.printStackTrace();
}
// 读取excel
ExcelImportUtil excelUtil = new ExcelImportUtil();
excelUtil.setExcelPath(targetFile.getPath());
excelUtil.setStartReadPos(1);
List<Row> rowList = excelUtil.readExcel();

if (rowList != null && rowList.size() > 0) {
if (jsessionid != null && !"".equals(jsessionid)) {
HttpSession session = MySessionContext.getInstance().getSession(jsessionid);
Domain domain = (Domain) req.getSession().getAttribute("Domainlogin");
Map<String, Object> map = blacklistservice.addBlackList(domain.getDomainid(), excelUtil, rowList);
// targetFile.delete();
if (map != null) {
writeStringUTF(objectToJson(map), res);
} else {
writeStringUTF(errorResult, res);
}
} else {
// targetFile.delete();
writeStringUTF(errorResult, res);
}
} else {
// targetFile.delete();
writeStringUTF(errorResult, res);
}

}

5、实现类

@Override
public Map<String, Object> addBlackList(long domainid,
ExcelImportUtil excelUtil, List<Row> rowList) {

/* List<Blacklist> black = blacklist.findAll("from Blacklist");
Map<String, Blacklist> usersMap = new HashMap<String, Blacklist>();
for (Blacklist b : black) {
usersMap.put(b.getNumber(), b);
}*/
Timestamp startTime = new Timestamp(new Date().getTime());
String[] title = new String[] {"number" };
Map<String, Object> result = new HashMap<String, Object>();
if (rowList != null && rowList.size() > 0) {
for (Row row : rowList) {
Blacklist black1 = new Blacklist();
//StringBuffer info = new StringBuffer();
for (int i = 0; i < title.length; i++) {
// info.append(excelUtil.getCellValue(row.getCell(i))+";");
System.out.println(excelUtil.getCellValue(row.getCell(i)));
if(excelUtil.getCellValue(row.getCell(i))==null&&excelUtil.getCellValue(row.getCell(i))==""){
result.put("result", "false");
return result;
}
black1.setNumber(excelUtil.getCellValue(row.getCell(i)));
black1.setDomainid(domainid);
black1.setCreatetime(startTime);
}
blacklist.save(black1);
}

result.put("result", "ok");
/* result.put("sucNum", orders.size());
result.put("errNum", notUserSize);*/
return result;
}else{

result.put("result", "false");
/*result.put("sucNum", 0);
result.put("errNum", rowList.size());*/
return result;
}
}

java uploadify 上传组件使用方法的更多相关文章

  1. jeecg使用uploadify上传组件

    在jeecg框架的系统内使用uploadify组件进行上传操作,有时无法正常发送请求,一直被重定向到登录请求,有可能使系统对上传操作进行了过滤,需要将这个上传请求放到非拦截序列里,才能正常使用. 第二 ...

  2. 使用jquery插件uploadify上传文件的方法与疑问

    我是学生一枚,专业也不是计算机,但又要用到很多相关技术,所以在技术基础不牢靠的情况下,硬着头皮在做.最近在做一个小项目需要上传图片,而且是需要用ajax的方式.但是利用jquery的ajax方法总会有 ...

  3. 共有19款Java 文件上传组件开源软件

    http://www.oschina.net/project/tag/139/fileupload?lang=19&sort=view

  4. ASP中文件上传组件ASPUpload介绍和使用方法

    [导读]要实现该功能,就要利用一些特制的文件上传组件.文件上传组件网页非常多,这里介绍国际上非常有名的ASPUpload组件 1 下载和安装ASPUpload  要实现该功能,就要利用一些特制的文件上 ...

  5. 从零开始编写自己的C#框架(23)——上传组件使用说明

    文章导航 1.前言 2.上传组件功能说明 3.数据库结构 4.上传配置管理 5.上传组件所使用到的类 6.上传组件调用方法 7.效果演示 8.小结 1.前言 本系列所使用的是上传组件是大神July开发 ...

  6. java上传组件commons-fileupload的一些使用方法

    在 http://www.apache.org,下载commons-fileupload-1.2.1.jar包,并把这个包加到工程中,以下是记录这个上传组件的一些使用方法. html测试页面,实现上传 ...

  7. java深入探究10-文件上传组件FileUpload,邮件开发

    1.文件上传组件FileUpload 1)java提供了文件上传的工具包 需要引入:commons-fileupload-1.2.1.jar(文件上床组件核心包) commons-oi-1.4(封装了 ...

  8. jQuery.uploadify文件上传组件实例讲解

    1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...

  9. java基础篇---文件上传(组件)

    转载自:http://www.cnblogs.com/oumyye/p/4234969.html 文件上传几乎是所有网站都具有的功能,用户可以将文件上传到服务器的指定文件夹中,也可以保存在数据库中,本 ...

随机推荐

  1. xBIM 实战03 使用WPF技术实现IFC模型的加载与浏览

    系列目录    [已更新最新开发文章,点击查看详细]  WPF应用程序在底层使用 DirectX ,无论设计复杂的3D图形(这是 DirectX 的特长所在)还是绘制简单的按钮与文本,所有绘图工作都是 ...

  2. 深入理解 JavaScript 异步——转载

    本文章转载于深入理解 JavaScript 异步 前言 2014年秋季写完了<深入理解javascript原型和闭包系列>,已经帮助过很多人走出了 js 原型.作用域.闭包的困惑,至今仍能 ...

  3. (转载)Android支付宝支付封装代码

    Android支付宝支付封装代码 投稿:lijiao 字体:[增加 减小] 类型:转载 时间:2015-12-22我要评论 这篇文章主要介绍了Android支付宝支付封装代码,Android支付的时候 ...

  4. POJ 2367 Genealogical tree【拓扑排序】

    题意:大概意思是--有一个家族聚集在一起,现在由家族里面的人讲话,辈分高的人先讲话.现在给出n,然后再给出n行数 第i行输入的数表示的意思是第i行的子孙是哪些数,然后这些数排在i的后面. 比如样例 5 ...

  5. CDQ分治笔记

    以前一直不会CDQ……然后经常听到dalao们说“这题直接CDQ啊”“CDQ不就秒了吗”的时候我只能瑟瑟发抖QAQ CDQ分治 其实CDQ分治就是二分分治,每次将$[l,r]$的问题划分为$[l,mi ...

  6. vue-cli 打包 使用 history模式 的后端配置

    apache的配置 这是windows下的 在httpd-vhosts.conf文件中把目录指向项目index.html文件所在的位置 # Virtual Hosts # <VirtualHos ...

  7. hdu 4496 并查集 逆向 并查集删边

    貌似某大犇说过 正难则反,,, 题目说要对这张图进行删边,然后判断联通块的个数,那么就可以先把所有边都删掉,之后从后往前加边,若加的边两端点不在同一个联通块中, 那么此时联通快个数少一,否则不变 #i ...

  8. Google笔试(2015年8月)

    华电北风吹 天津大学认知计算与应用重点实验室 日期:2015/8/21 这三道题目的PDF能够在这里下载 https://github.com/ncepuzhengyi/jobHuntingExam/ ...

  9. Hello World FastCGI

    什么是FastCGI,google吧,測试一个用C++实现的FastCGI程序. 1, Nginx 安装.http://nginx.org/en/download.html.下载解压.configur ...

  10. hdu5371Hotaru&#39;s problem manacher算法

    //给一个序列.让求其最大子序列 //这个序列由三段组成.第一段和第二段对称,第一段和第三段一样 //manacher算法求得p[i] //枚举第二段的起点和长度,得到结果 #include<c ...