| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
c38c
10年前发布

SpringMVC+uploadify3.2.1版实现附件上传功能

 $(function() {      $("#file_upload").uploadify({      'auto':false,       //是否允许自动上传     'swf' : '../uploadify/uploadify.swf?var='              +(new Date()).getTime(), //引入flash     'buttonText':'',     //设置button文字     'width ':'120',      //按钮宽度     'method':'PSOT',                     //提交方式     'multi':'true',      //是否多文件上传     'fileObjName' : 'myFile',   //文件对象名称,用于后台获取文件对象时使用     'preventCaching':'true',   //防止浏览器缓存     'formData':{'emergencyId':1111}, //动态传参     'queueID': 'custom-queue',     'uploader' : 'emergencyQueryRevision.do?          method=addAnnex' ,    //提交后台方法路径          //onUploadStart 动态传参的关键     'onUploadStart':function(){      $("#file_upload").uploadify("settings","formData",   {'emergencyId': $("#id").val()});     },     'onFallback' : function() {//检测FLASH失败调用         alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");              },              'onUploadSuccess':function(file, data, response){          var Data = eval('('+data+')');               // alert(file.name+"上传"+Data.result);            },                      onError: function(event, queueID, file)                  {                    alert(file.name + " 上传失败");                   },            'onQueueComplete':function(stats) {    //版本不一样方法也存在差异             alert("成功上传的文件数:" + stats.uploadsSuccessful + " =上传出错的文件数:" +stats.uploadsErrored + " -上传的文件总大小:" + stats.uploadSize);             cancel();           },    });         });
//上传附件  MultipartHttpServletRequest multipartRequest =   (MultipartHttpServletRequest) request;      MultipartFile file =multipartRequest.getFile("myFile");        //获取服务器地址    ServletContext sc = request.getSession().getServletContext();    //附件存放服务器路径      String dir = sc.getRealPath("/upload/yingjiwuzhi/");        //如果文件夹不存在,则创建文件夹    if (!new File(dir).exists()){     new File(dir).mkdirs();    }         String fileName = file.getOriginalFilename();     String realName = fileName.substring(0, fileName.indexOf("."));     //防止文件被覆盖,以纳秒生成文件名称     Long _l = System.nanoTime();     String _extName = fileName.substring(fileName.indexOf("."));     fileName = _l + _extName;          String uploadPath =  request.getContextPath() +   "/upload/yingjiwuzhi/" + fileName;     //存储格式为:/项目名/upload/yingjiwuzhi/43038800303864.log     //存储到数据库的相对路径               String responseStr="";            try {                 FileUtils.writeByteArrayToFile(new File(dir, fileName),   file.getBytes());//服务器中生成文件       responseStr="上传成功";           } catch (IOException e) {     // TODO Auto-generated catch block     e.printStackTrace();     responseStr="上传失败";      }
//删除服务器上的附件  //获取服务器地址    ServletContext sc = request.getSession().getServletContext();    //项目名称    String projectName = request.getContextPath();        String annexId = request.getParameter("annexId");    String emergencyId = request.getParameter("emergencyId");        //附件路径 存储格式为:/项目名/upload/yingjiwuzhi/43038800303864.log    String annexPath=request.getParameter("path");        if(!"".equals(annexPath)&&annexPath!=null){     String path = annexPath.replace(projectName, "");     String filePath = sc.getRealPath(path.trim());          File file = new File(filePath);     // 如果文件路径所对应的文件存在,并且是一个文件,则直接删除     if (file.exists() && file.isFile()) {      if (file.delete()) {         map.put("result", "true");      } else {       map.put("result", "false");      }     } else {      file.delete();      map.put("result", "true");     }    }