- 浏览: 78599 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (80)
- java (20)
- java 日志 (1)
- 网络应用 (1)
- 算法 (3)
- struts (2)
- 线程 (2)
- 数据库 (1)
- tools (1)
- lunix (8)
- Android (4)
- Nutch原理 (1)
- 字符编码 (1)
- 框架 (3)
- spring (7)
- Oracle (2)
- 数据连接池 (3)
- solr (3)
- 思想 (2)
- 架构设计 (1)
- 缓存 (2)
- hibernate (1)
- 学习 (1)
- java,jvm (1)
- 分页插件 (1)
- javascript (1)
- nginx (2)
- svn (2)
- 内存 (3)
- sqlserver (1)
- UML (1)
- JS 跨域 (1)
- mybatis (1)
- 加密 (0)
最新评论
-
q15106202446:
不知不觉 这些都有所了解了!时间过的好快..该进攻系统架构了
学习(转) -
zkq-java:
zkq-java 写道[u][/u]引用[i][/i][*][ ...
Solr 创建索引的原理 源码分析 -
zkq-java:
[u][/u]引用[i][/i][*][img][/img][ ...
Solr 创建索引的原理 源码分析
spring支持在网络应用程序处理文件上传,提供拔插的org.springframework.web.multipart.MultipartResolver对象 。
在写上传文件的前提下需提供两个jar包:
1.添加上传拦截,可指定上传的大小
- <!-- 上传拦截,如最大上传值及最小上传值 -->
- <bean id="multipartResolver"
- class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
- <!-- one of the properties available; the maximum file size in bytes -->
- <property name="maxUploadSize" value="100000" />
- </bean>
<!-- 上传拦截,如最大上传值及最小上传值 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- one of the properties available; the maximum file size in bytes --> <property name="maxUploadSize" value="100000" /> </bean>
2.添加java后台处理的API
- @RequestMapping(value = "/form", method = RequestMethod.POST)
- public String handleFormUpload(@RequestParam("name") String name,
- @RequestParam("file") MultipartFile file) {
- if (!file.isEmpty()) {
- byte[] bytes = file.getBytes();
- // 去理上传写文件代码
- }
@RequestMapping(value = "/form", method = RequestMethod.POST) public String handleFormUpload(@RequestParam("name") String name, @RequestParam("file") MultipartFile file) { if (!file.isEmpty()) { byte[] bytes = file.getBytes(); // 去理上传写文件代码 }
具体文件
spring_mvc.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:p="http://www.springframework.org/schema/p"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-3.0.xsd">
- <!-- 注解资源扫描包路径 -->
- <context:component-scan base-package="org.spring.mvc" />
- <bean
- class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
- <bean
- class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
- <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀,在requestmapping输入的地址后自动调用该类进行视图解析-->
- <bean id="viewResolver"
- class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="viewClass"
- value="org.springframework.web.servlet.view.JstlView" />
- <property name="prefix" value="/" /><!-- 跳转页面的前缀路径 如 /web-inf/user/ -->
- <property name="suffix" value=".jsp"></property><!-- 跳转页面后缀 如 helloWorld.jsp-->
- </bean>
- <!-- 上传拦截,如最大上传值及最小上传值 -->
- <bean id="multipartResolver"
- class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
- <!-- one of the properties available; the maximum file size in bytes -->
- <property name="maxUploadSize" value="100000" />
- </bean>
- </beans>
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- 注解资源扫描包路径 --> <context:component-scan base-package="org.spring.mvc" /> <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀,在requestmapping输入的地址后自动调用该类进行视图解析--> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/" /><!-- 跳转页面的前缀路径 如 /web-inf/user/ --> <property name="suffix" value=".jsp"></property><!-- 跳转页面后缀 如 helloWorld.jsp--> </bean> <!-- 上传拦截,如最大上传值及最小上传值 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- one of the properties available; the maximum file size in bytes --> <property name="maxUploadSize" value="100000" /> </bean> </beans>
FileUploadController.java文件
- package org.spring.mvc.upload;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.List;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.spring.mvc.HelloWorldController;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.multipart.MultipartFile;
- import org.springframework.web.multipart.MultipartHttpServletRequest;
- /**
- * 上传文件
- * @author chenyw
- *
- */
- @Controller
- @RequestMapping(value = "/toFileUpload")
- public class FileUploadController {
- private Logger logger = LoggerFactory.getLogger(HelloWorldController.class);
- /**
- * 单文件上传
- * @param name @RequestParam 取得name字段的值
- * @param file 文件
- * @return
- * @throws IOException
- */
- @RequestMapping(value = "/oneFileUpload", method = RequestMethod.POST)
- public String handleFormUpload(@RequestParam("name")
- String name, @RequestParam("file")
- MultipartFile file) throws IOException {
- logger.info("name:"+name);
- logger.info("上传文件:"+file.getOriginalFilename());
- if (!file.isEmpty()) {
- this.copyFile(file.getInputStream(), file.getOriginalFilename());
- }
- return "fileUpload/success";
- }
- /**
- * 多文件上传
- * @param request
- * @param name
- * @return
- * @throws Exception
- */
- @RequestMapping(value = "/multipartFileUpload",method = RequestMethod.POST)
- public String upload2(
- MultipartHttpServletRequest request ,
- @RequestParam("name") String name // 页面上的控件值
- ) throws Exception {
- List<MultipartFile> files = request.getFiles("file");
- for( int i=0; i<files.size() ;i++){
- if(! files.get(i).isEmpty()) {
- logger.info("上传文件:"+files.get(i).getOriginalFilename());
- this.copyFile(files.get(i).getInputStream(), files.get(i).getOriginalFilename());
- }
- }
- logger.info("success");
- return "fileUpload/success";
- }
- /**
- * 写文件到本地
- * @param in
- * @param fileName
- * @throws IOException
- */
- private void copyFile(InputStream in,String fileName) throws IOException{
- FileOutputStream fs = new FileOutputStream("d:/upload/"
- + fileName);
- byte[] buffer = new byte[1024 * 1024];
- int bytesum = 0;
- int byteread = 0;
- while ((byteread = in.read(buffer)) != -1) {
- bytesum += byteread;
- fs.write(buffer, 0, byteread);
- fs.flush();
- }
- fs.close();
- in.close();
- }
- }
package org.spring.mvc.upload; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.spring.mvc.HelloWorldController; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; /** * 上传文件 * @author chenyw * */ @Controller @RequestMapping(value = "/toFileUpload") public class FileUploadController { private Logger logger = LoggerFactory.getLogger(HelloWorldController.class); /** * 单文件上传 * @param name @RequestParam 取得name字段的值 * @param file 文件 * @return * @throws IOException */ @RequestMapping(value = "/oneFileUpload", method = RequestMethod.POST) public String handleFormUpload(@RequestParam("name") String name, @RequestParam("file") MultipartFile file) throws IOException { logger.info("name:"+name); logger.info("上传文件:"+file.getOriginalFilename()); if (!file.isEmpty()) { this.copyFile(file.getInputStream(), file.getOriginalFilename()); } return "fileUpload/success"; } /** * 多文件上传 * @param request * @param name * @return * @throws Exception */ @RequestMapping(value = "/multipartFileUpload",method = RequestMethod.POST) public String upload2( MultipartHttpServletRequest request , @RequestParam("name") String name // 页面上的控件值 ) throws Exception { List<MultipartFile> files = request.getFiles("file"); for( int i=0; i<files.size() ;i++){ if(! files.get(i).isEmpty()) { logger.info("上传文件:"+files.get(i).getOriginalFilename()); this.copyFile(files.get(i).getInputStream(), files.get(i).getOriginalFilename()); } } logger.info("success"); return "fileUpload/success"; } /** * 写文件到本地 * @param in * @param fileName * @throws IOException */ private void copyFile(InputStream in,String fileName) throws IOException{ FileOutputStream fs = new FileOutputStream("d:/upload/" + fileName); byte[] buffer = new byte[1024 * 1024]; int bytesum = 0; int byteread = 0; while ((byteread = in.read(buffer)) != -1) { bytesum += byteread; fs.write(buffer, 0, byteread); fs.flush(); } fs.close(); in.close(); } }
单文件上传页面oneFileUpload.jsp
- <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <base href="<%=basePath%>">
- <title>My JSP 'oneFileUpload.jsp' starting page</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="This is my page">
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- </head>
- <body>
- This is my onefileUpload page. <br>
- <form method="POST" action="toFileUpload/oneFileUpload" enctype="multipart/form-data">
- <input type="text" name="name"/>
- <input type="file" name="file"/>
- <input type="submit"/>
- </form>
- </body>
- </html>
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'oneFileUpload.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> This is my onefileUpload page. <br> <form method="POST" action="toFileUpload/oneFileUpload" enctype="multipart/form-data"> <input type="text" name="name"/> <input type="file" name="file"/> <input type="submit"/> </form> </body> </html>
多文件上传页面multipartFileUpload.jsp
- <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <base href="<%=basePath%>">
- <title>My JSP 'multipartFileUpload.jsp' starting page</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="This is my page">
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- </head>
- <body>
- This is multipartFileUpload page. <br>
- <form method="POST" action="toFileUpload/multipartFileUpload" enctype="multipart/form-data">
- <input type="text" name="name"/><br>
- <input type="file" name="file"/><br>
- <input type="file" name="file"/><br>
- <input type="submit"/><br>
- </form>
- </body>
- </html>
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'multipartFileUpload.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> This is multipartFileUpload page. <br> <form method="POST" action="toFileUpload/multipartFileUpload" enctype="multipart/form-data"> <input type="text" name="name"/><br> <input type="file" name="file"/><br> <input type="file" name="file"/><br> <input type="submit"/><br> </form> </body> </html>
发表评论
-
spring中的定时器功能
2013-03-21 13:45 701本文为抄袭,仅为保存资源 spring的定时器功能,它不仅 ... -
深度解析Java内存的原型及工作原理
2013-02-17 10:21 636本文主要通过分析Java内存分配的栈、堆以以及常量池详细的讲 ... -
Java文件上传组件 common-fileUpload 使用教程
2012-05-25 15:26 3359最近项目中,在发布商品的时候要用到商品图片上传功能(网站前 ... -
究 Spring 3.1之无web.xml式 基于代码配置的servlet3.0应用(转)
2012-05-22 16:18 4059大家应该都已经知道Spring 3.1对无web.xml式 ... -
探 Spring 3.1之无web.xml式 基于代码配置的servlet3.0应用(转)
2012-05-22 16:09 3053探 Spring 3.1之无web.xml式 基于代码 ... -
java面试经典(转)
2012-05-15 16:31 410http://blog.csdn.net/aweijun360 ... -
Servlet 3.0 简介
2012-05-08 15:28 1096Java servlets 是一项被普 ... -
Spring MVC国际化配置(转)
2012-04-20 15:41 1035一、基于浏览器语言的国际化配置 使用Spring的MVC,并且 ... -
java入门基础(一)
2012-04-05 08:19 649java 的核心思想 ... -
spring 源码解析(一) 转
2012-03-23 14:31 750在认真学习Rod.Johnson的三部曲之一:<&l ... -
spring 加载资源文件(转)
2012-03-22 09:01 852spring 加载资源文件 在Spring 中可以使用以 ... -
hibernate与ibatis的区别
2012-03-07 09:05 846hibernate 是一站式ORM orm mappin ... -
Servlet 3.0 新特性概览
2012-01-20 17:01 852转自http://blog.csdn.net/xiazdo ... -
配置文件load的几种方法(转)
2012-01-20 11:22 7901. InputStreamResource(Input ... -
Java关键字
2012-01-20 10:16 734Java关键字(keywords) abstract ... -
读源码之重拾接口与继承
2012-01-19 15:41 685Java抽象类和接口的区别(好长时间没看这种文章了) ... -
java 基础 集合
2012-01-18 11:09 809ArrayList和LinkedList, Ar ... -
HttpUrlContent 详解
2012-01-18 08:45 930下边的总结对我帮助蛮大的~不仅用法了解,整个连接流程也要明 ... -
SAXReader解析XML
2012-01-18 08:43 3157总结: Document document=new SA ... -
threadlocal
2012-01-17 11:28 706概述 我们知道Spring通 ...
相关推荐
spring fileupload CosMultipartResolver cos.jar
这是一个hassian与spring相结合上传文件的一个例子,保你下载不后悔
自己写的使用commons-fileupload包上传文件的简单例子。同时用到的包有commons-io
一个可以运行的项目,关于大附件上传这块的关键技术,在mysql中创建 upload 数据库,导入sql文件...后端导了fileupload的jar包 前端用了plupload的js插件 没有加mybatis和spring更具需要自己加 如果满意可以请评论点赞
java spring 文件上传实例,包含了完整的 spring 文件上传配置
外部依赖spring-context, Servlet API, (JSP API, JSTL, Commons FileUpload, COS)。 spring-webmvc.jar :这个jar 文件包含Spring MVC 框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、...
commons-fileupload-1.3.3.jar commons-logging-1.1.1.jar druid-1.0.9.jar fastjson-1.2.6.jar hamcrest-all-1.3.jar junit-4.12.jar log4j-1.2.16.jar mybatis-3.1.1.jar mybatis-spring-1.2.3.jar mysql-...
commons总包+spring总包+常用包.rar,jstl,图表,日志,文件上传,httpclient请求方式
org.restlet.ext.spring.jar
dom4j、common-fileupload、hibernate、jdom、log4j、proxool、spring、struts、webwork等工具、框架源码
spring mvc 上传需要的jar包 com.springsource.org.apache.commons.fileupload-1.2.0.jar com.springsource.org.apache.commons.io-1.4.0.jar
aopalliance-1.0.jar aspectjweaver-1.7.1.jar commons-fileupload-1.2.2.jar commons-logging-1.1.1.jar druid-0.2.9.jar jstl-1.2.jar junit-4.11.jar mybatis-3.1.1.jar mybatis-spring-1.1.1.jar mysql-...
commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang3-3.1.jar commons-logging-1.1.1.jar commons-pool.jar dom4j-1.6.1.jar freemarker-2.3.19.jar google-collections-1.0.jar guava-12.0.jar ...
FileUpload_jsp无刷新文件上传源码.zip
上传的两个包
struts.jar spring-web.jar spring-webmvc.jar spring-portlet.jar struts.jar commons-fileupload.jar commons-httpclient.jar freemarker.jar jasperreports-1.3.3.jar commons-io.jar...
spring上传文件jar包括commons-fileupload-1.2.1.jar和commons-io-2.0.jar。 官方版本,放心使用。
commons-fileupload-1.4.jar commons-io-2.6.jar commons-lang3-3.8.1.jar dom4j-2.1.1.jar FastInfoset-1.2.15.jar freemarker-2.3.28.jar hibernate-commons-annotations-5.1.0.Final.jar hibernate-core-5.4.3....
2013/03/21 18:20 59,590 commons-fileupload-1.2.2.jar 2013/03/21 18:20 159,509 commons-io-2.0.1.jar 2013/03/21 18:20 315,805 commons-lang3-3.1.jar 2013/03/21 18:20 60,686 commons-logging-1.1.1.jar 2013...
您将创建一个接受文件上传的Spring Boot Web应用程序。 您还将构建一个简单HTML界面来上传测试文件。 你需要什么 从Spring Initializr开始 如果您使用Maven,请访问以生成具有所需依赖项(Spring Web和Thymeleaf)...