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. HDFS的Shell

    调用文件系统(FS)Shell命令应使用 $HADOOP_HOME/bin/hadoop fs 的形式. 所有的FS Shell命令使用URI路径作为参数. URI格式是scheme://author ...

  2. Spark RDD概念学习系列之RDD是什么?(四)

       RDD是什么? 通俗地理解,RDD可以被抽象地理解为一个大的数组(Array),但是这个数组是分布在集群上的.详细见  Spark的数据存储 Spark的核心数据模型是RDD,但RDD是个抽象类 ...

  3. 异步编程之Promise(2):探究原理

    异步编程系列教程: (翻译)异步编程之Promise(1)--初见魅力 异步编程之Promise(2):探究原理 异步编程之Promise(3):拓展进阶 异步编程之Generator(1)--领略魅 ...

  4. 排序之希尔排序(shell sort)

    前言 本篇博客是在伍迷兄的博客基础上进行的,其博客地址点击就可以进去,里面好博客很多,我的排序算法都来自于此:一些数据结构方面的概念我就不多阐述了,伍迷兄的博客中都有详细讲解,而我写这些博客只是记录自 ...

  5. esb异常20160322_1948

    异常1. Failed to find entry point for component, the following resolvers tried but failed: [ 2016-03-2 ...

  6. (转载)Java里快如闪电的线程间通讯

    转自(http://www.infoq.com/cn/articles/High-Performance-Java-Inter-Thread-Communications) 这个故事源自一个很简单的想 ...

  7. datatable把一个LIst的数据放入两个colum防止窜行的做法

    DataColumn objectOne = new DataColumn("objectOne", typeof(object)); dt.Columns.Add(objectO ...

  8. KVM 虚拟机命令行安装配置

    KVM作为linux内核的一部分,有着无法比拟的优势,相信KVM的大范围企业应用指日可待. 一.KVM宿主服务器环境配置 1. 查看CPU是否支持VT技术 cat /proc/cpuinfo | eg ...

  9. HDU 4670 Cube number on a tree

    divide and conquer on tree. #include <map> #include <vector> #include <cstdio> #in ...

  10. HDU 5821 Ball (排序)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5821 有n个盒子,每个盒子最多装一个球. 现在进行m次操作,每次操作可以将l到r之间盒子的球任意交换. ...