Spring mvc,uploadifive 文件上传实践(转自:https://segmentfault.com/a/1190000004503262)
1、前台页面: 引入js和css
全选复制放进笔记<link type="text/css" rel="stylesheet" href="<%=basePath%>static/js/uploadifive/uploadifive.css" /> <script type="text/javascript" src="<%=basePath%>static/js/uploadifive/jquery.min.js"></script> <script type="text/javascript" src="<%=basePath%>static/js/uploadifive/jquery.uploadifive.min.js"></script>
2、控件初始化:
全选复制放进笔记<script type="text/javascript"> $(function() { $('#file_upload').uploadifive({ 'auto' : false, 'buttonClass': 'btn btn-primary', 'buttonText': "选择文件", 'queueID' : 'uploadqueue', 'uploadScript' : '/tools/uploadfiles', 'onUploadComplete' : function(file, data) { console.log(data); } }); }); </script>
3、body页面内容:
全选复制放进笔记<div id="uploadqueue"> <input id="file_upload" name="file_upload" type="file" multiple="true"> <a href="javascript:$('#file_upload').uploadifive('upload')">上传文件</a> | <a href="javascript:$('#file_upload').uploadifive('stop')">停止上传!</a> </div>
4、后台Controller:
全选复制放进笔记@RequestMapping(value = "/uploadfiles") @ResponseBody public JSONArray uploadFile(HttpServletRequest request){ Calendar calendar=Calendar.getInstance(); List<String> filePathList = new ArrayList<String>(); String filePath= SysConstant.UPLOADPATH; String filePathUrl=SysConstant.UPLOADPATHURL+"/"+calendar.get(Calendar.YEAR)+calendar.get(Calendar.MONTH); filePath=filePath+File.separatorChar+calendar.get(Calendar.YEAR)+calendar.get(Calendar.MONTH); try { filePathList = FileUploadUtil.uploadFile(request, filePath,filePathUrl); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch(Exception ex){ ex.printStackTrace(); } if(filePathList.size() == 0){ //return "系统错误"; } return JSONArray.fromObject(filePathList); }
5、上传类FileUploadUtil.java
全选复制放进笔记public class FileUploadUtil { private static final Logger log = LoggerFactory.getLogger(FileUploadUtil.class); public static List<String> uploadFile(HttpServletRequest request, String filePath,String filePathUrl) throws FileNotFoundException { List<String> filePathList = new ArrayList<String>(); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); String fileName = null; for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { MultipartFile mf = entity.getValue(); fileName = mf.getOriginalFilename(); String newfilepath; newfilepath = filePath + File.separatorChar + fileName; System.out.println("newfilepath=" + newfilepath); File dest = new File(filePath); if (!dest.exists()) { dest.mkdirs(); } File uploadFile = new File(newfilepath); if (uploadFile.exists()) { uploadFile.delete(); } try { log.info("start upload file: " + fileName); FileCopyUtils.copy(mf.getBytes(), uploadFile); } catch (IOException e) { // TODO Auto-generated catch block // e.printStackTrace(); log.info("upload failed. filename: " + fileName + e.getMessage()); return null; } filePathList.add(filePathUrl+"/"+fileName); } return filePathList; } }
6、配置spring-mvc.xml文件:
全选复制放进笔记<!-- 文件上传表单的视图解析器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- set the max upload size100MB --> <property name="maxUploadSize"> <value>104857600</value> </property> <property name="maxInMemorySize"> <value>4096</value> </property> </bean>
7、需要增加的jar文件:
全选复制放进笔记<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency>
总结:这次上传花了一点时间,遇到几个小问题。所以留下来供大家参考。
Spring mvc,uploadifive 文件上传实践(转自:https://segmentfault.com/a/1190000004503262)的更多相关文章
- Spring MVC实现文件上传
基础准备: Spring MVC为文件上传提供了直接支持,这种支持来自于MultipartResolver.Spring使用Jakarta Commons FileUpload技术实现了一个Multi ...
- Spring MVC的文件上传
1.文件上传 文件上传是项目开发中常用的功能.为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data.只有在这种情况下,浏览器才会把用户 ...
- Spring MVC的文件上传和下载
简介: Spring MVC为文件上传提供了直接的支持,这种支持使用即插即用的MultipartResolver实现的.Spring MVC 使用Apache Commons FileUpload技术 ...
- 【Spring学习笔记-MVC-13】Spring MVC之文件上传
作者:ssslinppp 1. 摘要 Spring MVC为文件上传提供了最直接的支持,这种支持是通过即插即用的MultipartResolve实现的.Spring使用Jakarta Co ...
- spring mvc ajaxfileupload文件上传返回json下载问题
问题:使用spring mvc ajaxfileupload 文件上传在ie8下会提示json下载问题 解决方案如下: 服务器代码: @RequestMapping(value = "/ad ...
- 0062 Spring MVC的文件上传与下载--MultipartFile--ResponseEntity
文件上传功能在网页中见的太多了,比如上传照片作为头像.上传Excel文档导入数据等 先写个上传文件的html <!DOCTYPE html> <html> <head&g ...
- Java Web 学习(8) —— Spring MVC 之文件上传与下载
Spring MVC 之文件上传与下载 上传文件 表单: <form action="upload" enctype="multipart/form-data&qu ...
- Spring MVC-学习笔记(5)spring MVC的文件上传、下载、拦截器
1.文件上传. spring MVC为文件上传提供了直接的支持,这种支持是即插即用的MultipartResolver(多部分解析器)实现的.spring MVC使用Apache Commo ...
- 基于Spring MVC的文件上传和下载功能的实现
配置文件中配置扫描包,以便创建各个类的bean对象 <context:component-scan base-package="com.neuedu.spring_mvc"& ...
随机推荐
- 安装redis 执行make命令时报错解决方法
一.未安装GCC 解决方法:执行yum install gcc-c++命令安装GCC,完成后再次执行make命令 yum install gcc-c++ Linux无法连接网络 http://www. ...
- leetcode刷题笔记231 2的幂
题目描述: 给定一个整数,写一个函数来判断它是否是2的幂. 题目分析: 判断一个整数是不是2的幂,可根据二进制来分析.2的幂如2,4,8,等有一个特点: 二进制数首位为1,其他位为0,如2为10,4为 ...
- PHP 包含
PHP 包含文件 PHP include 和 require 语句 在 PHP 中,您可以在服务器执行 PHP 文件之前在该文件中插入一个文件的内容. include 和 require 语句用于在执 ...
- Lucene总结
数据的分类 结构化数据:有固定类型或者有固定长度的数据 例如:数据库中的数据(mysql,oracle等), 元数据(就是windows中的数据) 结构化数据搜索方法: 数据库中数据通过sql语句可以 ...
- RDO Stack: Install newton in the dashboard can't create images
Issue: When you want to create an image in RDO stack newton version, you may encounter following err ...
- DrawerLayout案例
布局文件: <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget ...
- Switch控件详解
Switch控件详解 原生效果 5.x 4.x 布局 <Switch android:id="@+id/setting_switch" android:layout_widt ...
- Programming In Scala笔记-第五章、Scala中的变量类型和操作
这一章的一些基础性的东西,主要包括Scala中的基本变量类型,以及相关的一些操作符. 一.简单类型 下表中列出Scala语言中的基本类型,以及其字节长度,其中Byte, Short, Int, Lon ...
- 【mybatis深度历险系列】mybatis中的高级映射一对一、一对多、多对多
学习hibernate的时候,小编已经接触多各种映射,mybatis中映射有到底是如何运转的,今天这篇博文,小编主要来简单的介绍一下mybatis中的高级映射,包括一对一.一对多.多对多,希望多有需要 ...
- MongoDB实用教程
---------------------------------------------------------------------------------------------------- ...