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. zookeeper实战:SingleWorker代码样例

    我们需要一个“单点worker”系统,此系统来确保系统中定时任务在分布式环境中,任意时刻只有一个实例处于活跃:比如,生产环境中,有6台机器支撑一个应用,但是一个应用中有30个定时任务,这些任务有些必须 ...

  2. 第八章 Health Check

    8.1 默认的健康检查 每个容器启动时会执行一个进程,此进程由Dockerfile的CMD或ENTRYPOINT指定.如果进程退出时返回码非零,则认为容器发生故障,K8s就会根据restartPoli ...

  3. Fiddler监控面板显示ServerIP栏(Fiddler v5.0)

    Fiddler监控面板默认没有ServerIP这一栏,添加此栏方法如下: 1.点击Rules下的Customize Rules.js,会打开Fiddler ScriptEditor 2.在脚本中添加对 ...

  4. Disconf实践指南:安装篇

    Disconf是百度开源出来的一款基于Zookeeper的分布式配置管理软件.目前很多公司都在使用,包括滴滴.百度.网易.顺丰等公司.通过简单的界面操作就可以动态修改配置属性,还是很方便的.使用Dis ...

  5. svn删除

    [本地删除.然后提交到服务器]与[服务器删除然后本地更新] svn delete svn://路径(目录或文件的全路径) -m “删除备注信息文本” 推荐如下操作: svn delete 文件名 sv ...

  6. 初始mysql语句

    操作文件夹(库) 增 : create database db1 charset utf8; 查 : #查看当前创建的数据库 show create database db1; #查看所有的数据库 s ...

  7. 【Oracle】安装Oracle 10gR2 For CentOS

    Oracle10gR2安装安装环境项目     版本信息     备注操作系统     CentOS5.364bit    Oracle数据库     Oracle10.2.0.4 64bit 硬件信 ...

  8. 读《分布式一致性原理》JAVA客户端API操作

    创建会话 客户端可以通过创建一个Zookeeper实例来连接服务器.4种构造方法如下 ZooKeeper(connectString, sessionTimeout, watcher): ZooKee ...

  9. sql之将一个表中的数据注入另一个表中

    sql之将一个表中的数据注入另一个表中 需求:现有两张表t1,t2,现需要将t2的数据通过XZQHBM相同对应放入t1表中 t1: t2: 思路:left join 语句: select * from ...

  10. ubuntu下安装oracle java8

    1.首先添加ppa $ sudo add-apt-repository ppa:webupd8team/java 2.然后更新系统 $ sudo apt-get update 3.最后开始安装 $ s ...