博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
123.文件上传 (1版本)
阅读量:6611 次
发布时间:2019-06-24

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

hot3.png

1. 准备工作

1.1 搭建完成maven +ssm 项目 

 参考: https://my.oschina.net/springMVCAndspring/blog/1817609

1.2  在pom.xml中添加jar

    <!-- 11.文件上传 -->

            <!--  第一个-->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.6</version>
        </dependency>
            <!-- 第二个 -->
        <dependency>  
            <groupId>commons-fileupload</groupId>  
            <artifactId>commons-fileupload</artifactId>  
            <version>1.3.1</version>  

103753_iMNs_3015807.png

1.3  配置图片上传 MultipartResolver 用于处理文件上传  

<!-- 4.2 配置图片上传 MultipartResolver 用于处理文件上传   只有在上传文件的时候才使用 -->

        <bean name="multipartResolver"
            class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="defaultEncoding" value="UTF-8"></property>

a578dab9da02d229e4b1a675bd5547192f8.jpg

2. 编码

2.1 前端页面

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
         <h2>文件上传</h2>
    <form action="${pageContext.request.contextPath }/uploadTest.action" enctype="multipart/form-data" method="post">
        <table>
            <tr>
                <td>文件描述:</td>
                <td><input type="text" name="description"></td>
            </tr>
            <tr>
                <td>请选择文件:</td>
                <td><input type="file" name="file"></td>
            </tr>
            <tr>
                <td><input type="submit" value="上传"></td>
            </tr>
        </table>
    </form>
</body>
</html>

104029_JPJu_3015807.png

2.2 后台

    /**

     * 文件上传
     * request
     * description
     * file
     *
     */
    @RequestMapping(value="/uploadTest.action")
    public String uploadTest(HttpServletRequest request,@RequestParam("description") String description, @RequestParam("file") MultipartFile file)throws Exception{
          System.out.println(description);
           //如果文件不为空,写入上传路径
            if(!file.isEmpty()) {
                //上传文件路径   
                //指定 保存到项目文件 下面
             //  String path = request.getServletContext().getRealPath("\\D:\\img");// The method getDispatcherType() is undefined for the type HttpServletRequest pom.xml 8.2 servlet api 版本低了 
                String path ="D:\\img";//保存到计算机的其他盘符  比如这里是保存到本服务器的 d盘 img目录下
                //上传文件名
                String filename = file.getOriginalFilename();
                File filepath = new File(path,filename);
                //判断路径是否存在,如果不存在就创建一个
                if (!filepath.getParentFile().exists()) { 
                    filepath.getParentFile().mkdirs();
                }
                //将上传文件保存到一个目标文件当中
                file.transferTo(new File(path + File.separator + filename));
                return "success";
            } else {
                return "error";
            }
        
    }

104238_dGJK_3015807.png

3. 测试

105137_O8Qf_3015807.png

   110057_wTTl_3015807.png

 

4. 源码

有必要 上传源码的

4.1 前端基于webuploader.js 完成的

9b4df5bd1bea79b70da5dbed1f1c89a3492.jpg

 

4.2 基于会h5 file属性的

4514b9fe6525f2120ef761d25c5e1f657cd.jpg

4.3 源码

百度云:

链接:https://pan.baidu.com/s/1BPtd6jboQ9SkvN6y7CJ0Ug 

提取码:tyjx 

码云:https://gitee.com/Luck_Me/file_upload_demo/tree/master

转载于:https://my.oschina.net/springMVCAndspring/blog/1821045

你可能感兴趣的文章
让我们来说说:Java线程池!
查看>>
Spring Web MVC工作原理
查看>>
PHP6种加密方法介绍
查看>>
oracle取前几行|中间几行|后几行
查看>>
java算法-递归算法思想
查看>>
领域驱动的设计
查看>>
16.1 Tomcat介绍
查看>>
Tumblr 爬虫
查看>>
B站,N站,汤站,爬虫下载资源总结与技巧(二)
查看>>
QuickBI助你成为分析师——数据源FAQ小结
查看>>
速记 UWP Unit Test 异常:ailed to initialize client proxy: could not connect to test process
查看>>
十周三次课
查看>>
解读POI操作之表格导出(生成多个sheet)
查看>>
安装redis 解压后的文件及操作
查看>>
Docker安装mysql8主从结构
查看>>
S/4HANA服务订单Service Order的批量创建
查看>>
iOS ShareSDK桥接技术
查看>>
spring源码解析bean定义@Configuration、@Import、@Bean(2)
查看>>
技术工坊|WASM应用区块链虚拟机的技术实践(上海)
查看>>
常见前端面试题
查看>>