博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC(十七)文件上传
阅读量:7078 次
发布时间:2019-06-28

本文共 3210 字,大约阅读时间需要 10 分钟。

SpringMVC中实现文件上传需要两个jar包    

主要是CommonsMultipartResolver解析器依赖commons-fileupload和commons-io这两个jar包

commons-fileupload
commons-fileupload
1.3.1
commons-io
commons-io
1.4

一。实现单文件上传

先准备页面

<%--  Created by IntelliJ IDEA.  User: mycom  Date: 2018/4/2  Time: 9:55  To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>    文件上传

文件上传

文件1 :

在控制器类中

package demo19Fileupload.Fileupload01;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpSession;import java.io.File;import java.io.IOException;/** * Created by mycom on 2018/4/2. */@Controllerpublic class FirstController {    @RequestMapping("/first")    public String doFirst(MultipartFile upload, HttpSession session){        //upload就是客户端浏览器上传的文件对象        //获得文件名+后缀名        String childPath=upload.getOriginalFilename();        System.out.println("childPath:"+childPath);        //绝对路径        //左半部分        String parentPath=session.getServletContext().getRealPath("/upload");        //创建一个file对象        File file=new File(parentPath,childPath);        try {            //将文件传送到你指定的文件目录中            upload.transferTo(file);        } catch (IOException e) {            e.printStackTrace();            return "fileupload";        }        return "success";    }}

配置文件中

   

不要忘记修改web.xml

还需要注意的是:在你的webapps下先创建一个文件夹。文件夹中最好放一个文件或者空文件,运行完成功之后,要看你编译后的文件,应该在你的target中项目下查找

二。多文件上传

页面上

<%--  Created by IntelliJ IDEA.  User: mycom  Date: 2018/4/2  Time: 9:55  To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>    文件上传

文件上传

文件1 :
文件2 :
文件3 :

控制器中的方法

@RequestMapping("/second")    public String doSecond(@RequestParam MultipartFile[] upload, HttpSession session){        for (MultipartFile item:upload) {            if(item.getSize()>0){
//如果大于0,那么就说明有文件,就执行文件上传的代码,<0就没有文件 //获得短路径 String childPath=item.getOriginalFilename(); //获得左半部分 String parentPath=session.getServletContext().getRealPath("/upload"); //创建一个File File file=new File(parentPath,childPath); try { item.transferTo(file); } catch (IOException e) { e.printStackTrace(); return "fileupload"; } }else{ return "fileupload"; } } return "success"; }

传入的参数变成文件数组,然后用foreach遍历

配置文件不变

这是单个文件上传和多个文件上传

转载于:https://www.cnblogs.com/my-123/p/8694611.html

你可能感兴趣的文章
Non-Rule Package常用表名
查看>>
JavaMail给QQ邮箱发邮件报错,没有SSL加密
查看>>
【解决】缺少libstdc++.so.6库的原因及解决的方法
查看>>
url 中文传参 乱码问题
查看>>
很反感
查看>>
Oracle for 循环
查看>>
统计学基于SPSS贾俊平 授课笔记 发布作业 spss19cn 软件下载地址及破解包spss19_10039 下载地址...
查看>>
ldr和adr在使用标号表达式作为操作数的区别
查看>>
DS博客作业06--图
查看>>
看到大家对数据库分页有研究,也分享个本人的
查看>>
n个元素的入栈顺序有多少种出栈顺序?
查看>>
Unity3D的Android移动之路之平台依赖编译
查看>>
layer close 关闭层IE9-浏览器崩溃问题解决
查看>>
排序算法之选择排序
查看>>
SSIS Error Code DTS_E_OLEDB_NOPROVIDER_64BIT_ERROR
查看>>
AX 条码打印
查看>>
面向对象1
查看>>
解析微信开发之搜索歌曲
查看>>
ping,
查看>>
破碎吧,
查看>>