<link rel="stylesheet" type="text/css" href='<c:url value="/uploadify/uploadify.css"/>' />
<script src="<c:url value="/uploadify/jquery.uploadify.min.js"/>"type="text/javascript"></script>
<a class="task_btn_upload" href="javascript:$('#file_upload1').uploadify('upload','*')">开始上传</a>
<input type="file" name="file_upload" id="file_upload"/>  $(function() {  
  $("#file_upload").uploadify({ 
   'auto':false,       //是否允许自动上传
   'swf' : '../uploadify/uploadify.swf?var='
            +(new Date()).getTime(), //引入flash
   'buttonText':'',     //设置button文字
    'removeCompleted': true,//是否移除掉队列中已经完成上传的文件。false为不移除
   'removeTimeout': 3,//设置上传完成后删除掉文件的延迟时间,默认为3秒。
   'width ':'120',      //按钮宽度
   'method':'PSOT',                     //提交方式
   'multi':'true',      //是否多文件上传
   'fileObjName' : 'myFile',   //文件对象名称,用于后台获取文件对象时使用
   'preventCaching':'true',   //防止浏览器缓存
   'formData':{'emergencyId':1111}, //动态传参
   'queueID': 'custom-queue',  //显示在某个div的位置  custom-queue div的id 
   '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版实现附件上传功能(直接可以使用)的更多相关文章

  1. Springmvc file多附件上传 显示 删除操作

    之前项目需求要做一个多附件上传 并显示上传文件 带删除操作 一筹莫展之际搜到某个兄弟发的博客感觉非常好用被我copy下来了此贴算是改良版 再次感谢(忘记叫什么了时间也有点久没有历史记录了)先上图 基于 ...

  2. 跟版网 > 织梦教程 > 织梦安装使用 > 织梦DedeCMS附件上传大

    织梦DedeCMS附件上传大小受限制,超过2M就不能上传了,针对此问题按如下方法修改: 1.进入后台→系统设置→系统基本参数→会员设置→会员上传文件大小(K),改成你需要限制的大小: 2.在dede ...

  3. java附件上传下载磁盘版

    ACTION public class UploadAction extends BaseAction { private static final long serialVersionUID = 1 ...

  4. asp.net结合uploadify实现多附件上传

    1.说明 uploadify是一款优秀jQuery插件,主要功能是批量上传文件.大多数同学对多附件上传感到棘手,现将asp.net结合uploadfiy如何实现批量上传附件给大家讲解一下,有什么不对的 ...

  5. 基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用

    大概一年前,我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随笔<Web开发中的文件上传组件uploadify的使用>中可以看到,Asp.NET中 ...

  6. 使用plupload做一个类似qq邮箱附件上传的效果

    公司项目中使用的框架是springmvc+hibernate+spring,目前需要做一个类似qq邮箱附件上传的功能,暂时只是上传小类型的附件 处理过程和解决方案都需要添加附件,处理过程和解决方案都可 ...

  7. 基于MVC4+EasyUI的Web开发框架形成之旅(4)--附件上传组件uploadify的使用

    大概一年前,我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随笔<Web开发中的文件上传组件uploadify的使用>中可以看到,Asp.NET中 ...

  8. (转)基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用

    http://www.cnblogs.com/wuhuacong/p/3343967.html 大概一年前,我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随 ...

  9. SpringMVC入手项目注解版

    SpringMVC入手项目注解版 1.创建Maven项目在pom.xml文件引入相关的依赖 <dependencies> <dependency> <groupId> ...

随机推荐

  1. 第二课 TXT读取 - 导出 - 选择顶部/底部记录 - 描述性统计 - 分组/排序

    第2课 创建数据 - 我们从创建自己的数据集开始分析.这可以防止阅读本教程的最终用户为得到下面的结果而不得不下载许多文件.我们将把这个数据集导出到一个文本文件中,这样您就可以获得从文本文件中一些拉取数 ...

  2. Linux 安装MySQL5.7.18

    https://dev.mysql.com/downloads/mysql/Linux-Generic md5sum mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz ...

  3. jq遍历 下拉框

    var selectA1 = $("select[name=A1]"); //从A1下拉框中 搜索值 $(selectA1).children("option" ...

  4. DB2常用运维命令

    DB2是IBM公司推出关系型数据库管理系统.主要应用于银行.医院等大型机构.现今DB2主要包含以下三个系列:DB2 for Linux, UNIX and Windows(LUW) . DB2在Lin ...

  5. hive优化分享

    粘贴一下我在部门中的一次hive优化的分享. 简述 hive构建在hadoop基础上,利用分布式存储,通过mr引擎实现对大数据的计算.MR会频繁地读写磁盘而且MR任务的启动成本很高.对于hive优化显 ...

  6. linux 性能分析与优化

    一.影响Linux服务器性能的因素 1.操作系统级 (CPU 内存 磁盘I/O性能 网络带宽) 2.程序应用级 二.系统性能评估标准   好  坏 极差 cpu user% +sys% <70% ...

  7. C++进阶 STL(2) 第二天 一元/二元函数对象、一元/二元谓词、stack容器、queue容器、list容器(双向链表)、set容器、对组、map容器

    01 上次课程回顾 昨天讲了三个容器 string  string是对char*进行的封装 vector 单口容器 动态数组 deque(双端队列) 函数对象/谓词: 一元函数对象: for_each ...

  8. 实验二:编写输出"Hello World!"

    1.首先打开eclipse这个软件,新建Java项目,执行“文件→ 新建→Java项目 ”菜单命令,打开新建Java对话框,在项目名的编辑框中输入项目名编写输出"Hello World!”, ...

  9. ASP 读取Word文档内容简单示例_组件开发_新兴网络_20161014161610.jpg

  10. 利用Selenium实现图片文件上传的两种方式介绍

    在实现UI自动化测试过程中,有一类需求是实现图片上传,这种需求根据开发的实现方式,UI的实现方式也会不同. 一.直接利用Selenium实现 这种方式是最简单的一种实现方式,但是依赖于开发的实现. 当 ...