SpringMVC+uploadify3.2.1版实现附件上传功能
发布时间:2020-12-14 23:30:52 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 ?$(function()?{????$("#file_upload").uploadify({????'auto':false,???????//是否允许自动上传???'swf'?:?'../uploadify/uploadify.swf?var='??????
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 ?$(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"); ???} ??} 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |