业务背景:实现一个用药人的增加功能,用药人信息中包含附件。如题所示,主要讨论easyui上传的实现。
jsp页面代码(弹出框),一个简单的增加页面

 1   div id=addMedicationDlg class=easyui-window closed=true title= iconCls=icon-add style=width350px; height390px;text-aligncenter; background #fafafa;
 2           div class=easyui-layout fit=true
 3               div region=center border=false style=background#fff;border1px solid #ccc;padding-left 20px;
 4                   input type=hidden id=mid name=mid
 5                   form id=addMedicationForm  method=POST
 6                          input type=hidden id=sex
 7                       table border=0 class=queryTable  style=margin-bottom 0px
 8
 9                          tr
10                              td class=queryTitle附件:td
11                              td class=queryContent
12                                     input class=inputText type=text id=urlkeywords!-- 放入的是附件路径--
13                                     input  type=hidden id=goodsNo  name=goodsNo !-- 附件列表 --
14                                   input type=hidden class=inputText id=swfText
15                                   span id=keyWordImportBtnspan!--上传按钮--
16                             td
17                             td
18                                    <!--显示进度条-->
19                                  div id=fsUploadProgressdiv
20                                  div id=divStatus style=display none;div
21                                  input id=btnCancel type=buttondisabled=disabled style=display none
22                              td
23                          tr
24                      table
25                    table border=0 class=queryTable  style=margin-bottom 0px  id=fileIdTlb
26                          tbody
27                           tbody
28                    table
29                  form
30              div
31              div region=south border=false style=text-aligncenter;height30px;line-height30px;
32                  a class=easyui-linkbutton iconCls=icon-ok href=javascriptvoid(0) οnclick=doPostData()确定a
33                  a class=easyui-linkbutton iconCls=icon-cancel href=javascriptvoid(0) οnclick=cancelPostData('addMedicationDlg')取消a
34              div
35          div
36  div

View Code

js文件代码

 1 /**
 2     * 打开修改&增加用药人窗口
 3     */
 4    function doModifyMedication (mid){
 5       //弹出修改&增加用药人窗口
 6      $('#addMedicationDlg').window({
 7           title  '修改用药人',
 8           iconCls  'icon-edit',
 9           width750,
10           height550,
11           left250,
12           modal  true,
13           shadow  true,
14           collapsible  false,
15           minimizable  false,
16           maximizable  false
17       });
18       $(#addMedicationDlg).show();
19       $('#addMedicationDlg').window('move',{top20});
20       $('#addMedicationDlg').window('open');
21        //这一步很关键,初始化上传操作
22        initSWFUpload({
23               upload_url appPath + pagequeryMedicationkeyWordImport+generateMixed(6),
24               post_params{},
25               button_placeholder_id keyWordImportBtn,
26               upload_start_handler  uploadStartFn,
27               upload_success_handler  importOk,
28               file_types  .png;.jpg;.gif,
29               debugfalse,
30               custom_settings  {
31                   progressTarget  fsUploadProgress,
32                   cancelButtonId  btnCancel
33               }
34        });
35   }
36   /**
37     *保存提交
38     */
39   function doPostData(){
40             //序列化表单
41           var userinfo = $('#addMedicationForm').serialize();
42           doAjax({
43               urlappPath + 'pagequeryMedicationaddMedication'+ memberId,
44               type'POST',
45               datauserinfo,
46               successfunction(data){
47                    if(data ==true){
48                        $.messager.alert('提示信息','保存成功','info');
49                       $('#selectMedicineManDlg').window('close');
50                       cancelPostData('addMedicationDlg');
51                       lookMedication(memberId);
52                  }else{
53                      $.messager.alert('提示信息','抱歉,操作未能完成,'+data,'error');
54                  }
55              },
56              errorfunction(XMLHttpRequest, textStatus, errorThrown){
57                  $.messager.alert('提示信息','抱歉,操作未能完成,'+textStatus,'error');
58              }
59          });
60  }
61  /**
62    *取消提交
63    *@param dlg
64    */
65  function cancelPostData(dlg){
66      $('#'+dlg).window('close');
67  }

View Code

后台java代码

 1      /**
 2      * 保存文件(在文件初始化的时候执行)
 3      *
 4      * @param request
 5      * @param response
 6      * @param uploadFile
 7      * @throws Exception
 8      */
 9     @RequestMapping(value = "/keyWordImport")
10     public Object keyWordImport(HttpServletRequest request,
11             HttpServletResponse response,
12             @RequestParam("uploadFile") MultipartFile f) throws Exception {
13         request.setCharacterEncoding("utf-8");
14         response.setCharacterEncoding("utf-8");
15         HashMap<String, Object> map = new HashMap<String, Object>();
16         String type = "" ;
17         String splitKey = "";
18
19         //---设置字符集
20         try {
21             request.setCharacterEncoding("utf-8");
22         } catch (Exception e) {
23             e.printStackTrace();
24         }
25         response.setCharacterEncoding("utf-8");
26
27         if (null != request.getParameter("splitKey")){
28              splitKey = request.getParameter("splitKey");
29         }
30
31         //---获取文件名称、文件后缀名称以及生成新名称
32         String oldFileName = f.getOriginalFilename();
33         if(null!=oldFileName && oldFileName.contains(".")){
34             type = oldFileName.substring(oldFileName.lastIndexOf(".")).toLowerCase();
35         }
36         String newFileName =oldFileName.substring(0,oldFileName.lastIndexOf("."))+String.valueOf(System.currentTimeMillis())+type;
37         try {
38             // ---获取文件保存目录名称
39
40             String saveFolder = request.getSession().getServletContext()
41                     .getRealPath("upload")
42                     + "/" +  "otcFolder";
43
44             String  newFileNamePath = "/upload/otcFolder/"+ newFileName;
45             map.put("newFileName", newFileNamePath);
46
47             // ---上传
48             Map<String, Object> res = uploadService.doUpload(saveFolder,
49                     f.getBytes(), newFileName, splitKey, "otcFolder");
50             // ---返回值
51             if (0 == (Integer) res.get("error")) {
52                 request.setAttribute("res", "success");
53                 response.getWriter().write(org.json.simple.JSONObject.toJSONString(map));
54             } else {
55                 request.setAttribute("res",
56                         "err : " + (String) res.get("message"));
57             }
58         } catch (Exception e) {
59             request.setAttribute("res", "err : " + e.getMessage());
60             logger.error("upload failed in action " + e.getMessage());
61     }
62            return null;
63   }
64          //保存用药人新增数据
65     @RequestMapping(value="/addMedication/{memberId}")
66     @ResponseBody
67     public  String addMedication (HttpServletRequest request ,@PathVariable Long memberId,Medication medication) throws Exception {
68         String fileList = medication.getGoodsNo();
69         String temps [] =fileList.split(",");
70         List<MedicationMemberFile> list =new ArrayList<MedicationMemberFile>();
71         for (int  i = 0 ;i<temps.length ; i++){
72             MedicationMemberFile medicationMemberFile = new MedicationMemberFile();
73             if (temps[i].trim().length() >0 || temps[i].trim() != null){
74                 medicationMemberFile.setFilePath(temps[i]);
75                 list.add(medicationMemberFile);
76             }
77         }
78          medication.setMedicationMemberFile(list);
79          medication.setMemberId(memberId);
80         String  result ="";
81         String resultDataRecord = SOAJsonClient.sendMsgToOtc(OtcJsonCodeRelation.JsonAssignedDetailsTasksService_setAddMedication,JSON.toJSONString(medication) );
82         JSONObject objectRecord = JSONObject.fromObject(resultDataRecord);
83          String  objectstate=String.valueOf(objectRecord.get("state"));
84          if(objectstate.trim().length() >0 &&  objectstate.equals("0")){
85              result ="true";
86          }
87          return result;
88     }

View Code

转载于:https://www.cnblogs.com/tomcatx/p/4104976.html

easyui SWFUpload相关推荐

  1. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(32)-swfupload多文件上传[附源码]...

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(32)-swfupload多文件上传[附源码] 文件上传这东西说到底有时候很痛,原来的asp.net服务器 ...

  2. ASP.NET MVC下使用SWFUpload完成剪切头像功能

    首先介绍SWFUpload组件 SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术 为WEB开发者提供了一个具有丰富功能继 ...

  3. ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(持续更新中...)

    开发工具:VS2015(2012以上)+SQL2008R2以上数据库  您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB  升级后界面效果如下: 日程管理   http:// ...

  4. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(36)-文章发布系统③-kindeditor使用...

    构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(36)-文章发布系统③-kindeditor使用 原文:构建ASP.NET MVC4+EF5+EasyUI+Un ...

  5. ASP.NET MVC5+EF6+EasyUI 后台管理系统

    ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(持续更新中...) 开发工具:VS2015(2012以上)+SQL2008R2以上数据库  您可以有偿获取一份最新源码联 ...

  6. JQuery EasyUI的常用组件

    jQuery EasyUI 是一个基于 jQuery 的框架,集成了各种用户界面插件,该框架提供了创建网页所需的一切,帮助您轻松建立站点. 注:本次介绍的JQuery EasyUI版本为1.5版. 一 ...

  7. java easyui tree例子_EasyUI Tree的简单使用

    此前写过zTree插件的demo,没有记录下来,这次记录一下EasyUI的Tree. 实现效果:获取数据库表的数据,以树结构的形式展示出来. 树结构数据分为同步加载和异步加载,同步加载就是初始化加载时 ...

  8. 雷林鹏分享:jQuery EasyUI 数据网格 - 创建属性网格

    jQuery EasyUI 数据网格 - 创建属性网格 属性网格(property grid)带有一个内置的 expand(展开)/collapse(合并) 按钮,可以简单地为行分组.您可以简单地创建 ...

  9. 第二百二十节,jQuery EasyUI,Slider(滑动条)组件

    jQuery EasyUI,Slider(滑动条)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Slider(滑动条)组件的使用方法,这个 ...

最新文章

  1. 艾麦捷科技-铂金小猪新年致辞
  2. php fpm 日志记录,如何解决nginx下php-fpm不记录php报错日志的问题
  3. 将“softmax+交叉熵”推广到多标签分类问题
  4. DexFile类介绍
  5. vector-空间增长
  6. 一个SAP Marketing Cloud和Kyma的集成
  7. 如何有效解决C与C++的相互调用问题
  8. web平台安装程序_来了来了!开源车间调度平台正式上线!
  9. Selenium 安装firebug和firepath
  10. 多元统计分析朱建平pdf_应用多元统计分析课后答案朱建平版
  11. testbed软件测试技巧,基于LDRA Testbed 软件的单元测试
  12. 移动硬盘显示拒绝访问文件怎样找到
  13. mis系统的编写与设计
  14. cpu天梯图2022年11月 cpu排行榜天梯图2022
  15. Weblogic配置jms服务文档,是自己总结网上搜集到的资料以及自己亲自动手配置测试的总结。
  16. 网页配色实例:Web设计色彩速查表
  17. 【iOS】设置背景渐变色
  18. 测绘资质在线处理资质问题
  19. 大数据的变革:保险行业数据价值赋能
  20. 5月书讯(下)| 5天小长假,一起读新书

热门文章

  1. 又一家安防公司即将登录创业板-睿联Reolink
  2. 学计算机要学word跟什么,大学计算机word学习心得体会.doc
  3. Unity Networking开发多人联机射击游戏
  4. 02、【solidworks】solidworks下载重装可能遇到的问题尤其是注册表访问问题
  5. cc2530点对点通信c语言,CC2530 RF部分使用 ——实现点对点收发
  6. 北理工在线作业计算机的主要特点是( ),18春北理工《用户界面设计》在线作业-2...
  7. 火影新忍出击steam服务器维修,《火影忍者博人传:新忍出击》游戏打不开报错解决方法...
  8. wpf绘制圆环,实现图片镂空
  9. 平衡串联超级电容器的策略
  10. JavaScript实现的环形图比较