springMVC文件上传

时间:2021-02-24 10:07:11

参考的地址:http://www.tuicool.com/articles/nMVjaiF

1.需要使用的jar、

commons-fileupload.jar与commons-io-1.4.jar二个文件

其中commons-io已经被当成依赖包导进去了,不需要另外导,所用的pom.xml完整内容为:

<!-- 这个配置只能在tomcat7上运行,tomcat6和tomcat8会报错 -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.tansun</groupId>
<artifactId>hadoopClientWeb</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>hadoopClientWeb Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<junit.version>3.8.1</junit.version>
<cdh.hadoop.version>2.6.0</cdh.hadoop.version>
<cdh.hbase.version>1.0.0</cdh.hbase.version>
<elasticsearch.version>1.5.0</elasticsearch.version>
<springmvc.version>4.0.5.RELEASE</springmvc.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency> <!-- springMVC的jar包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${springmvc.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${springmvc.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${springmvc.version}</version>
</dependency>
<!-- jsp编译的jar包 -->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>javax.servlet.jsp.jstl-api</artifactId>
<version>1.2.1</version>
</dependency>
<!-- 文件上传到后台的包 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency> </dependencies>
<build>
<finalName>hadoopClientWeb</finalName>
</build>
</project>

2、springmvc配置

增加以下内容,

    <!-- 文件上传 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置上传文件的最大尺寸为10MB -->
<property name="maxUploadSize">
<value>10000000</value>
</property>
</bean>

spring-servlet.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:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <!-- 把标记了@Controller注解的类转换为bean -->
<context:component-scan base-package="action"></context:component-scan>
<!-- 文件上传 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置上传文件的最大尺寸为10MB -->
<property name="maxUploadSize">
<value>10000000</value>
</property>
</bean>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/jsp/" />
<property name="suffix" value=".jsp" />
</bean> </beans>

3、上传页面

在form里要加上 enctype="multipart/form-data",form里面file的input,即如下:

<form id="form1" method="post" enctype="multipart/form-data">

<input id="file" name="file" type="file" class="inputclass"></input> 
<input type="button" class="btn_public" value="上传文件" onclick="uploadFile()"></input>
</form>

上面的uploadFile()为:

<script type="text/javascript">
function uploadFile() {
var fileSelect = document.getElementById("file");
var localName = fileSelect.value;
if (localName == "") {
alert("请先选择要上传的文件");
} else {
var form = document.getElementById("form1");
form.action = "hdfsUploadFile.do"
form.submit();
}
}
</script>

后台的java为:

@RequestMapping("hdfsUploadFile.do")
public String upload(@RequestParam("file") MultipartFile file, Model model,
HttpServletRequest request) {
String name = file.getOriginalFilename();
String view = "toHdfsTable";
try {
// 获取文件 存储位置
String realPath = request.getSession().getServletContext().getRealPath("/uploadFile");
uploadServer(realPath,file); } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace(); } return view;
} private void uploadServer(String realPath,MultipartFile file) throws IllegalStateException, IOException{
File pathFile = new File(realPath); if (!pathFile.exists()) {
// 文件夹不存 创建文件
pathFile.mkdirs();
} // System.out.println("文件类型:" + file.getContentType());
// System.out.println("文件名称:" + file.getOriginalFilename());
// System.out.println("文件大小:" + file.getSize());
// System.out.println(".................................................");
// 将文件copy上传到服务器
file.transferTo(new File(realPath + "/" + file.getOriginalFilename()));
}

springMVC文件上传的更多相关文章

  1. SpringMVC文件上传 Excle文件 Poi解析 验证 去重 并批量导入 MYSQL数据库

    SpringMVC文件上传 Excle文件 Poi解析并批量导入 MYSQL数据库  /** * 业务需求说明: * 1 批量导入成员 并且 自主创建账号 * 2 校验数据格式 且 重复导入提示 已被 ...

  2. springmvc文件上传下载简单实现案例&lpar;ssm框架使用&rpar;

    springmvc文件上传下载实现起来非常简单,此springmvc上传下载案例适合已经搭建好的ssm框架(spring+springmvc+mybatis)使用,ssm框架项目的搭建我相信你们已经搭 ...

  3. springMVC文件上传大小超过限制的问题

    [转自]https://my.oschina.net/ironwill/blog/646762 springMVC是一个非常方便的web层框架,我们使用它的文件上传也非常的方便. 我们通过下面的配置来 ...

  4. 解决springMVC文件上传报错: The current request is not a multipart request

    转自:https://blog.csdn.net/HaHa_Sir/article/details/79131607 解决springMVC文件上传报错: The current request is ...

  5. 18 SpringMVC 文件上传和异常处理

    1.文件上传的必要前提 (1)form 表单的 enctype 取值必须是:multipart/form-data(默认值是:application/x-www-form-urlencoded) en ...

  6. springmvc文件上传AND jwt身份验证

    SpringMVC文件上传 思路:1.首先定义页面,定义多功能表单(enctype=“multipart/form-data”)2.在Controller里面定义一个方法,用参数(MultipartF ...

  7. TZ&lowbar;06&lowbar;SpringMVC&lowbar;传统文件上传和SpringMVC文件上传方式

    1.传统文件上传方式 <!-- 文件上传需要的jar --> <dependency> <groupId>commons-fileupload</groupI ...

  8. SpringMVC文件上传下载&lpar;单文件、多文件&rpar;

    前言 大家好,我是bigsai,今天我们学习Springmvc的文件上传下载. 文件上传和下载是互联网web应用非常重要的组成部分,它是信息交互传输的重要渠道之一.你可能经常在网页上传下载文件,你可能 ...

  9. springmvc 文件上传实现&lpar;不是服务器的&rpar;

    1.spring使用了apache-commons下的上传组件,因此,我们需要引用2个jar包 1)apache-commons-fileupload.jar 2 ) apache-commons-i ...

  10. SpringMVC文件上传和下载

    上传与下载 1文件上传 1.1加入jar包 文件上传需要依赖的jar包 1.2配置部件解析器 解析二进制流数据. <?xml version="1.0" encoding=& ...

随机推荐

  1. 2013年 蓝桥杯预赛 java 本科A 题目

    1.标题: 世纪末的星期 曾有*称1999年12月31日是世界末日.当然该谣言已经不攻自破. 还有人称今后的某个世纪末的12月31日,如果是星期一则会.... 有趣的是,任何一个世纪末的年份的12月 ...

  2. 树链剖分&vert;&vert;dfs序 各种题

    1.[bzoj4034][HAOI2015]T2 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把 ...

  3. Golang学习 - unicode 包

    ------------------------------------------------------------ const ( MaxRune = '\U0010FFFF' // Unico ...

  4. 微信app支付的坑

    app支付商户申请,需注册并认证开放平台账号后电脑端登录开放平台官网:open.weixin.qq.com,[管理中心]->[移动应用],选择需要申请支付的应用,点击[查看]->[微信支付 ...

  5. 快速搭建Vue项目

    快速搭建Vue项目 第一次安装vue项目Vue推荐开发环境Node.js 6.2.0.npm 3.8.9.webpack 1.13.vue-cli 2.5.1.webstrom2016 安装环境: 安 ...

  6. Object转为Bigdecimal

    import java.math.BigDecimal; import java.math.BigInteger; public class MathUtils { public static Big ...

  7. HTTP URL 字符转义 字符编码 、 RFC 3986编码规范

    一.为什么要编码转义 通常如果一样东西需要编码,说明这样东西并不适合传输.原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义. 例如Url参 ...

  8. &lbrack;svc&rsqb;tomcat在win&plus;eclipse上部署&sol;及虚拟主机配置&sol;http302

    tomcat也可以称为catalina catalina_home就是tomcat安装路径:D:\Program Files\apache-tomcat-8.0.36\bin windows下安装to ...

  9. java关于Timer schedule执行定时任务 &excl;&excl;&excl;&excl;&excl;&excl;&excl;&excl;&excl;

    1.在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等.对于这样的操作最方便.高效的实现方式就是使用java.util.Timer工具类. private java.util.Time ...

  10. SQL Server研究之统计信息—发现过期统计信息并处理具体解释

     前言: 统计信息是关于谓词中的数据分布的主要信息源,假设不知道详细的数据分布,优化器不能获得预估的数据集.从而不能统计须要返回的数据. 在创建列的统计信息后,在DML操作如insert.upda ...