public ResponseItem uploadFile(MultipartHttpServletRequest request,FileItem fileItem,PageData pd) {
ResponseItem responseItem=new ResponseItem();
try {
boolean isSuccess = false;
MultiValueMap<String,MultipartFile> multiMap = request.getMultiFileMap();
String relativePath = CreateDateDirUtil.create(Const.UPLOADPATH+"/upload");//保存文件夹
Set<String> keys = multiMap.keySet();//遍历文件
isSuccess=true;
if(isSuccess){
FileItem uploadfile = new FileItem();
for (String key:keys) {
List<MultipartFile> mutiFiles = multiMap.get(key);
for(MultipartFile file :mutiFiles){
String uuid= UuidUtil.get32UUID();
String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().indexOf("."));//获取文件类型
uploadfile.setProc(fileItem.getProc());//设置流程实例ID
uploadfile.setFileTempname(uuid+suffix);//设置数据库文件存储名,32位
uploadfile.setNames(fileItem.getNames());//设置上传者姓名
uploadfile.setUserid(fileItem.getUserid());//设置上传者id
logger.debug("==>"+suffix);
String fileName = URLDecoder.decode(file.getOriginalFilename()); logger.debug("上传附件名==>"+fileName);
uploadfile.setFilename(fileName);//上传附件名
uploadfile.setFilepath("upload/"+relativePath);
String type=fileItem.getType();
if(type.equals("blfj")){
fileItem.setType("办理附件");
}
if(type.equals("jxfj")){
fileItem.setType("结项附件");
}
if(type.equals("xcfj")){
fileItem.setType("巡查附件");
}
uploadfile.setType("办理附件");
uploadfile.setTime(new Date());//上传时间
logger.debug("==>"+Const.UPLOADPATH+"/"+relativePath+uuid+suffix);
file.transferTo(new File(Const.UPLOADPATH+"/upload/"+relativePath,uuid+suffix));//写入文件,文件名通过UUID生产
/** 插入媒体文件 */
isSuccess = workflowDao.insertWorkflowUploadFile(uploadfile);
}
}
if(isSuccess){ return responseItem.getSuccessInfo(isSuccess);
}else{
return responseItem.getFailureInfo("false");
}
}
}catch (Exception e){ e.printStackTrace();
} return responseItem;
}

SpringMvc多文件上传简单实现的更多相关文章

  1. 关于SpringMVC的文件上传

    关于文件的上传,之前写过2篇文章,基于Struts2框架,下面给出文章链接: <关于Struts2的文件上传>:http://www.cnblogs.com/lichenwei/p/392 ...

  2. 一起学SpringMVC之文件上传

    概述 在Web系统开发过程中,文件上传是普遍的功能,本文主要以一个简单的小例子,讲解SpringMVC中文件上传的使用方法,仅供学习分享使用,如有不足之处,还请指正. 文件上传依赖包 如下所示,文件上 ...

  3. SpringMVC+ajax文件上传实例教程

    原文地址:https://blog.csdn.net/weixin_41092717/article/details/81080152 文件上传文件上传是项目开发中最常见的功能.为了能上传文件,必须将 ...

  4. springmvc图片文件上传接口

    springmvc图片文件上传 用MultipartFile文件方式传输 Controller package com.controller; import java.awt.image.Buffer ...

  5. SpringMVC学习--文件上传

    简介 文件上传是web开发中常见的需求之一,springMVC将文件上传进行了集成,可以方便快捷的进行开发. springmvc中对多部件类型解析 在 页面form中提交enctype="m ...

  6. Spring +SpringMVC 实现文件上传功能。。。

    要实现Spring +SpringMVC  实现文件上传功能. 第一步:下载 第二步: 新建一个web项目导入Spring 和SpringMVC的jar包(在MyEclipse里有自动生成spring ...

  7. Web---演示Servlet的相关类、表单多参数接收、文件上传简单入门

    说明: Servlet的其他相关类: ServletConfig – 代表Servlet的初始化配置参数. ServletContext – 代表整个Web项目. ServletRequest – 代 ...

  8. SpringMVC之文件上传异常处理

    一般情况下,对上传的文件会进行大小的限制.如果超过指定大小时会抛出异常,一般会对异常进行捕获并友好的显示出来.以下用SpringMVC之文件上传进行完善. 首先配置CommonsMultipartRe ...

  9. springmvc实现文件上传

    springmvc实现文件上传 多数文件上传都是通过表单形式提交给后台服务器的,因此,要实现文件上传功能,就需要提供一个文件上传的表单,而该表单就要满足以下3个条件 (1)form表彰的method属 ...

随机推荐

  1. c++builder 代码输入助手

    c++builder 代码输入助手 指针箭头.指针符号-> 输入太麻烦 java.c#.delphi 语音,输入. 一个字符,就可以弹出代码提示窗口.很是方便. c++,输入->,需要按3 ...

  2. [转]模拟HttpContext 实现ASP.NET MVC 的单元测试

    众所周知 ASP.NET MVC 的一个显著优势即可以很方便的实现单元测试,但在我们测试过程中经常要用到HttpContext,而默认情况下单元测试框架是不提供HttpContext的模拟的,本文通过 ...

  3. <转>linux进程间通信<一>

    这篇文章真心不错,只是代码比较久,有些地方需求大家自行修改.先全文转载,以备复习只用.原文链接为:http://www.ibm.com/developerworks/cn/linux/l-ipc/pa ...

  4. tomcat的host配置

    本机 etc\hosts 首先了解C:\WINDOWS\system32\drivers\etc\hosts文件配置 127.0.0.1 static1.ezsins.com #adoble ps c ...

  5. Eclipse 和 NetBeans 快捷键即其他常用功能比较

    按: 自己用 Eclipse, 常用的也就这些功能, 在用 NetBeans 时, 有些不顺手, 因此列表如下. Eclipse和NetBeans常用快捷键对比:  功能  Eclipse     N ...

  6. Objc基础学习记录5

    NSMutableString类继承的NSString类. NSMutableString是动态的字符串. 1.appendingString 方式: 向字符串尾部添加一个字符串. 2.appendi ...

  7. Linux 下安装android

    主要参考了这篇文章 http://segmentfault.com/a/1190000003069062#articleHeader2 这里提到了“unable to run mksdcard sdk ...

  8. window.print打印指定div

    window.print可以打印网页,但有时候我们只希望打印特定控件或内容,怎么办呢? 首先我们可以把要打印的内容放在div中,然后用下面的代码进行打印. <html> <head& ...

  9. OSX apache vhost 配置多站点时403错误解决方法

    到 /etc/apache2/httpd.conf 这个文件修改下面的路径就好了 DocumentRoot "/Users/wujinhang/workspace/"<Dir ...

  10. swift 与 指针初级使用

    swift 里面对应C 的基础类型前面加C,CInt.CBool和CChar UnsafePointer<CChar> 对应C的 const char *;常量指针不可变 UnsafeMu ...