加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读