$(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"); } }
SpringMVC+uploadify3.2.1版实现附件上传功能(直接可以使用)
原文:http://my.oschina.net/u/2242194/blog/390583