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. rtmp发送H264及aac的音视频

    RTMP推送的音视频流的封装形式和FLV格式相似,由此可知,向FMS推送H264和AAC直播流,需要首先发送"AVC sequence header"和"AAC sequ ...

  2. kafka 常用命令

    Kafka 解压,进入kafka目录下的bin目录 启动zk nohup ./zookeeper-server-start.sh ../config/zookeeper.properties & ...

  3. Nmon、nmon analyse安装及使用

    性能监控算是性能测试中的一部分,测试人员需要去分析各类系统指标,CPU.网络.内存.磁盘I/O等等.嗯.通常linux系统下有诸如top.netstat.iostat等命令进行查看:而有时需要看某数据 ...

  4. 《C++ Primer》读书笔记

    在C++中,基类必须指出希望派生类重新定义哪些函数,定义为virtual的函数是基类期待派生类重新定义的,基类希望派生类继承的函数不能定义为虚函数. 引用和指针的静态类型与动态类型可以不同,这是C++ ...

  5. javascript或node中的console用法总结

    //建立app.js页面 // 一:页面代码 console.log("log信息"); //在页面中执行(node app.js)这个文件会在控制台中看到log信息:" ...

  6. 如何查看与分析IIS服务器日志?

    发布时间:2012-12-01 16:17:28.0 作者:青岛做网站   网站日志分析是站长每天的必备工作之一,服务器的一些状况和访问IP的来源都会记录在IIS日志中,所以IIS日志对每个服务器管理 ...

  7. 优化笔记: jxrsfxrxx_D_20140916.gz

    表的重复扫描.   ----------------------------------想进一步研究,继续往下看------------------------------ 1.       所有相似 ...

  8. OD 实验(五) - 对 PE 结构的简单分析

    载入程序,按 Alt+M 查看内存空间 双击进入程序的 PE 头 这些为 DOS 环境下才会运行的 这个执行 PE 的地址,PE 结构的偏移地址为 C0 找到这个地址 以 PE 开头 SizeOfCo ...

  9. 回归问题中代价函数选择的概率解释(Probabilistic interpretation)

    在我们遇到回归问题时,例如前面提到的线性回归,我们总是选择最小而成作为代价函数,形式如下: 这个时候,我们可能就会有疑问了,我们为什么要这样来选择代价函数呢?一种解释是使我们的预测值和我们训练样本的真 ...

  10. linux grep日志查询

    ll access.2018-09-*.gz zcat access.2018-09-*.gz |grep --color '1073011900' | head -n  100  匹配字符由于管道h ...