利用structs2和jquery.form.js文件上传

来源:互联网 发布:两小无猜 网络剧 怎么 编辑:程序博客网 时间:2024/06/06 19:46

引入jquery.form.js

$("#importPointsForm").ajaxSubmit({

       success: function(json, status, $form){
           if (json.result == 0) {
alert("上传成功");
           }else{
alert("上传失败");
}
           
           if(json.failList.length > 0){
            var failMsg = "";
            for(var i=0;i < json.failList.length; i++){
            failMsg += json.failList[i].message + "<br/>";
            }
            $("#failMsg").html("以下数据导入失败:<br/>" + failMsg);
           }
       },
       dataType: "json",
       eventTarget: "importPointsBtn"

   });



@SuppressWarnings("unchecked")
public void importGAPoint()
throws Exception
{
MultiPartRequestWrapper request = (MultiPartRequestWrapper)getRequest();
File[] files = request.getFiles("file");
Map<String, Object> map = new HashMap<String, Object>();

try
{
XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(files[0]));
map = readGAPointDataFromExcel2007(workbook);
}
catch(Exception e)
{
if(e instanceof POIXMLException){
logger.info("uploadManualBillFile upload file is 2003 version excel.");
Workbook wb = WorkbookFactory.create(new POIFSFileSystem(new FileInputStream(files[0])));
map = readGAPointDataFromExcel2003(wb);
}
}
if(Integer.valueOf(map.get("result").toString()) != 0){
renderJSONException(47001, "读取Excel数据时异常");
return;
}

List<Property> insertDataList = (List<Property>)map.get("insertDataList");
if(insertDataList.size() < 2){
renderJSONException(47002, "Excel内容为空,请重新上传");
return;
}

String loginName = getManagerLoginUser();

List<Property> failList = (List<Property>)map.get("failList");


Map<String, Object> insertResult = GoldenSingerPointManagerService.addGoldSingerPoint(insertDataList, loginName);

logger.info("uploadManualBillFile result=" + insertResult.get("result"));
JSONObject json = new JSONObject();
json.put("result", insertResult.get("result"));
json.put("failList", failList);
renderJSON(json.toString());
}

0 0
原创粉丝点击