2012-02-16 18:10:26|  分类: 计算机--JAVA EE-|字号 订阅

spring中的文件上传实际比较容易
1、页面中
<html>
   <body>
   <form action="upload.do" method="post"   enctype="multipart/form-data">
    <input type="file"   name="uploadfile" />
    <input type="submit" value="提交" />
   </form>
   </body>
</html>
2、修改spring的配置文件添加
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
         <property name="maxUploadSize">
             <value>1048576</value>
         </property>
     </bean>
其中class部分可以选用CommonsMutipartResolver或CosMultipartResolver,但是别忘记添加相应的jar文件
3、对应的控制器和实体类中无需添加uploadfile文件
4、对应的Controller

package cn.com.babe;

import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.validation.BindException;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;

public class UploadAction extends SimpleFormController {
private String viewsucc;
private String viewfalse;

public String getViewsucc() {
   return viewsucc;
}

public void setViewsucc(String viewsucc) {
   this.viewsucc = viewsucc;
}

public String getViewfalse() {
   return viewfalse;
}

public void setViewfalse(String viewfalse) {
   this.viewfalse = viewfalse;
}

protected ModelAndView onSubmit(HttpServletRequest request,
    HttpServletResponse response, Object command, BindException errors)
    throws Exception {
   String view = getViewfalse();
   MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
   CommonsMultipartFile orginalFile = (CommonsMultipartFile) multipartRequest
     .getFile("uploadfile");// 表单中对应的文件名;
   if (orginalFile != null && !orginalFile.isEmpty()) {// 如果有文章中带有附件
    String filename = orginalFile.getOriginalFilename();
    DataOutputStream out = new DataOutputStream(new FileOutputStream(
      "c:/" + filename));// 存放文件的绝对路径
    InputStream is = null;// 附件输入流
    try {
     is = orginalFile.getInputStream();
     byte[] b=new byte[is.available()];
     is.read(b);
     out.write(b);
    } catch (IOException exception) {
     exception.printStackTrace();
    } finally {
     if (is != null) {
      is.close();
     }
     if (out != null) {
      out.close();
     }
    }
    view=getViewsucc();
   }
   return new ModelAndView(view, null);
}

}

通过上面的方式就可以文件上传了。我做的只是把所有的上传文件拷贝到c盘根目录下,并且设置了上传文件最大大小为1mb。

用Spring实现文件上传(CommonsMultipartFile)!的更多相关文章

  1. Spring MVC 笔记 —— Spring MVC 文件上传

    文件上传 配置MultipartResolver <bean id="multipartResolver" class="org.springframework.w ...

  2. spring实现文件上传(图片解析)

    合抱之木,生于毫末,千里之行,始于足下,要想了解spring的文件上传功能,首先要知道spring是通过流的方式将文件进行解析,然后上传.那么是不是所有需要用的文件上传的地方都要写一遍文件解析器呢? ...

  3. Spring Boot 文件上传原理

    首先我们要知道什么是Spring Boot,这里简单说一下,Spring Boot可以看作是一个框架中的框架--->集成了各种框架,像security.jpa.data.cloud等等,它无须关 ...

  4. Spring MVC文件上传教程 commons-io/commons-uploadfile

    Spring MVC文件上传教程 commons-io/commons-uploadfile 用到的依赖jar包: commons-fileupload 1.3.1 commons-io 2.4 基于 ...

  5. spring boot文件上传、下载

    主题:Spring boot 文件上传(多文件上传)[从零开始学Spring Boot]http://www.iteye.com/topic/1143595 Spring MVC实现文件下载http: ...

  6. springboot成神之——spring的文件上传

    本文介绍spring的文件上传 目录结构 配置application DemoApplication WebConfig TestController 前端上传 本文介绍spring的文件上传 目录结 ...

  7. 【Java Web开发学习】Spring MVC文件上传

    [Java Web开发学习]Spring MVC文件上传 转载:https://www.cnblogs.com/yangchongxing/p/9290489.html 文件上传有两种实现方式,都比较 ...

  8. Spring mvc文件上传实现

    Spring mvc文件上传实现 jsp页面客户端表单编写 三个要素: 1.表单项type="file" 2.表单的提交方式:post 3.表单的enctype属性是多部分表单形式 ...

  9. springMVC3学习(十一)--文件上传CommonsMultipartFile

    使用springMVC提供的CommonsMultipartFile类进行读取文件 需要用到上传文件的两个jar包 commons-logging.jar.commons-io-xxx.jar 1.在 ...

随机推荐

  1. 「自己开发直播」实现nginx-rtmp-module多频道输入输出与权限控制

    之前写了一篇文章,利用nginx和nginx-rtmp-module实现直播. 不过,之前只是做到了能够直播而已,只能一个人推流,并没有实现多人多频道输入输出,也没有权限控制,只要知道rtmp的URL ...

  2. (转)CentOS 7安装Zabbix 3.4

    (转)Zabbix 3.4 支持Centos 7.貌似不支持6.9. 更多详细内容请参考官方说明文档,详细的安装要求不贴出来了. https://www.zabbix.com/documentatio ...

  3. ngui自适应

    增加UIROOT using UnityEngine; namespace Com.Xyz.UI { [ExecuteInEditMode] [RequireComponent(typeof(UIRo ...

  4. 【UVA】1595 Symmetry(模拟)

    题目 题目     分析 理清思路,上模拟.     代码 #include <bits/stdc++.h> using namespace std; const int maxn=100 ...

  5. Svg 和 canvas的区别

    Canvas 和 SVG 都允许您在浏览器中创建图形,但是它们在根本上是不同的. SVG SVG 是一种使用 XML 描述 2D 图形的语言. SVG 基于 XML,这意味着 SVG DOM 中的每个 ...

  6. git 一些用法

    创建远程分并跟踪: git remote add remote_branch_name git@github.com:test/test.git git fetch upstream 跟踪原始代码 删 ...

  7. Memcached的过期数据的过期机制及删除机制(LRU)

    Memcached的过期数据的过期机制及删除机制1.当某个值过期后,并没有从内存删除,因此,使用stats命令统计时,curr_item参数有信息(不为0)2.当某个新值去占用他的位置时,当成空chu ...

  8. c#中如何获取本机用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存

    我们在利用C#开发桌面程序(Winform)程序的时候, 经常需要获取一些跟系统相关的信息, 以下这些代码获取能有些用处. c#中如何获取本机用户名.MAC地址.IP地址.硬盘ID.CPU序列号.系统 ...

  9. Shiro配置cookie以及共享Session和Session失效问题

    首先我们看Shiro的会话管理器的配置 <!-- shiro会话管理 --> <!-- 即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中:会话可以是普通 JavaSE ...

  10. WPF Grid 用 C# 代码后台设置

    WPF Grid 用 C# 代码后台设置 运行环境:Window7 64bit,.NetFramework4.61,C# 6.0: 编者:乌龙哈里 2017-02-21 参考: System.Wind ...