SpringMVC的文件上传

我们以前用的都是IO流来实现文件的上传和下载,springMVC提供了文件的上传的方法

他的底层依然是IO流来实现的

第一步:我们配置好SpringMVC的环境之后,我们创建一个上传的页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>上传</title>
</head>
<body>
<form method="post" action="/upload" enctype="multipart/form-data">
    <input type="text" name="name"><br>
    <input type="file" name="file"><br>
    <input type="submit" name="提交">
</form>
</body>
</html>
注意:如果你的jsp的页面放在WEB-INF的下面话我们要在spring-servlet.xml中配制视图解析器

  <!--配置视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
这样就可以找到了你的jsp页面了

第二步:我们要创建controller来找到上传的页面和提交的action

package org.peter.controller;

import org.apache.commons.io.FileUtils;
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.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

/**
 * Created by Lenovo on 2017/7/19.
 */
@Controller
public class UploadController {
    @RequestMapping(value = "/upload",method = RequestMethod.POST)
    @ResponseBody
    public void fileUpdate(String name , MultipartFile file){
        System.out.println(name);
        System.out.println(file);
        try {
            FileUtils.writeByteArrayToFile(new File("E:\\photoFile",file.getOriginalFilename()),file.getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @RequestMapping("/f")
    public String upload(){
        return "upload";
    }
}
因为SpringMVC分装了一个工具类FileUtils,这个类中有个方法writeByteArrayToFile(), 就是以字节数组的新式上传.

第三步:很是简单,那就是配制一下文件的上传的大小,和一些配制,这些配制在spring-servlet.xml中

   <!--配置文件上传-->
    <bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver" id="multipartResolver">
        <!--配置上传文件的大小-->
        <property name="maxUploadSize">
            <value>5242880</value>
        </property>
    </bean>

只需三步就搞定。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值