uploadify文件上传的使用

1.jsp代码

 1     appname=$("#appname").val();

 2         $("#uploadify").uploadify({

 3             'swf' : '<%=basePath%>/Backstage/Style/jQuery-uploadify/uploadify.swf',

 4             // 'script' : 'ProductAction!fileUpload.do',//后台处理的请求

 5             'uploader': 'AppVersionAction!fileUpload.do?appname='+appname , 

 6             'cancelImg' : '<%=basePath%>/Backstage/include/easyvalidator/images/vtip_arrow.png',

 7             'folder' : '/uplaod/temp',//您想将文件保存到的路径

 8             'queueID' : 'fileQueue',//与下面的id对应

 9             'fileObjName':'uploadify',

10             'queueSizeLimit' : 5,

11             'fileDesc' : '文件格式',

12             'fileTypeExts' : '*.apk;*.ipa;*.png', //控制可上传文件的扩展名,启用本项时需同时声明fileDesc

13             'auto' : false,

14             'multi' : true,

15             'simUploadLimit' : 2,

16             'buttonText' : '选择文件',

17             'onQueueComplete' : function(file,data,response) { 

18                   picFlag = true;  

19             }  

20         });

1     <input type="file" name="uploadify" id="uploadify" />

2                 <input id="appname" type="text" value="<s:property value="version.appName"/>" name="version.appName" size="30"   maxlength="32"  data-options="required:true,missingMessage:'请输入版本号'" class="easyui-validatebox" /><font color="red">&nbsp;*</font>

2.action和service

 1     public void addVersion() {

 2         String appname= getRequest().getParameter("appname");

 3         UploadImg upload = new UploadImg();

 4         try {

 5             /** 商品基本属性 **/

 6             version.setId(Constants.getUUID());

 7             version.setCreateTime(Constants.getSimpleDateFormat3());

 8 

 9             /** 将缓存中的图片放入版本目录中 **/

10             List<String> files = (List<String>) getSession().getAttribute("files");

11             String filesext=(String) getSession().getAttribute("fileExt");

12             String updateUrl=(String) getSession().getAttribute("fileName1");

13             if (files != null) {

14                 SimpleDateFormat yearFormat = new SimpleDateFormat("yyyyMMdd");

15                 String folderName = Constants.versionFileSavePath + "/" + yearFormat.format(new Date()) ;

16                 String newFileName=appname+"."+filesext;

17                 for (int i = 0; i < files.size(); i++) {

18                     upload.moveAndSaveFile(getRequest(), "/Upload/temp" +files.get(i), "/Upload/"+folderName,newFileName);

19                 }

20                 version.setUpdateUrl(updateUrl);

21 //                commodityInfo.setImageDir("/Upload/" + folderName);

22             }

23             getSession().removeAttribute("files");

24             getSession().removeAttribute("fileName1");

25             this.wfAppVersionService.addObject(version);

26             String json = JSON.toJSONString(version);

27             json = json.replace("}", ",\"tips\":\"新增版本信息成功\"}");

28             getResponse().setContentType("text/html;charset=utf-8");

29             getResponse().getWriter().println(json);

30         } catch (Exception ex) {

31             ex.printStackTrace();

32             try {

33                 getResponse().setStatus(555);

34                 getResponse().getWriter().println("新增失败");

35                 Logger.getLogger(AppVersionAction.class).info("版本控制执行新增操作异常");

36             } catch (IOException e) {

37                 e.printStackTrace();

38             }

39         }

40     }
 1     public void copyAndUpateFile(HttpServletRequest request,String oldPath, String newPath, String newName) {

 2         try {

 3             int bytesum = 0;

 4             int byteread = 0;

 5             System.out.println("@@newPath:  "+newPath);

 6             File oldfile = new File(request.getRealPath("/")+oldPath);

 7             if (oldfile.exists()) { // 文件存在时

 8                 //查看传入的目录是否存在 如果不存在就创建

 9                 if (newPath.split("/").length > 0) {

10                     String[] paths = newPath.split("/");

11                     String path = request.getRealPath("/") ;

12                     for (int i = 0; i < paths.length; i++) {

13                         path += paths[i] + "/";

14                         File saveDirFile = new File(path);

15                         if (!saveDirFile.exists()) {

16                             saveDirFile.mkdirs();

17                         }

18                     }

19                 }

20                 File file=new File(request.getRealPath("/")+newPath+"/"+"cbt_"+newName);

21                 file.createNewFile();

22                 InputStream inStream = new FileInputStream(request.getRealPath("/")+oldPath); // 读入原文件

23                 FileOutputStream fs = new FileOutputStream(request.getRealPath("/")+newPath+"/"+"cbt_"+newName);

24                 byte[] buffer = new byte[1444];

25                 while ((byteread = inStream.read(buffer)) != -1) {

26                     bytesum += byteread; // 字节数 文件大小 

27                     fs.write(buffer, 0, byteread);

28                 }

29                 inStream.close();

30             }

31         } catch (Exception e) {

32             System.out.println("复制单个文件操作出错");

33             e.printStackTrace();

34 

35         }

36     }

37     

38     /**

39      * 将临时文件tmp移动并改变格式

40       * @Title:  UploadImg

41       * @param:  @param request

42       * @param:  @param oldPath

43       * @param:  @param newPath

44       * @param:  @param newName

45       * @return:       

46       * @throws:

47       * @Description: TODO

48      */

49     public void moveAndSaveFile(HttpServletRequest request,String oldPath, String newPath,String newName) {

50         copyAndUpateFile(request,oldPath, newPath,newName);

51         String fileExt = oldPath.substring(oldPath.lastIndexOf(".") + 1).toLowerCase();

52         System.out.println("oldPath:      "+oldPath+"###NewPath:  "+newPath+" fileExt:   "+fileExt);

53         delFile(request,oldPath);

54 

55     }

 

 

你可能感兴趣的:(uploadify)