zoukankan      html  css  js  c++  java
  • 文件上传

    文件上传

    一、配置文件上传的大小限制

    application.properties配置文件添加:

    # 上传文件总的最大值
    spring.servlet.multipart.max-request-size=10MB
    # 单个文件的最大值
    spring.servlet.multipart.max-file-size=10MB
    
    • spring.servlet.multipart.max-file-size限制单个文件的最大值
    • spring.servlet.multipart.max-request-size限制上传的多个文件的总大小

    二、单文件上传

    1、创建Controller控制类

    package com.desire.controller;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.List;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.apache.log4j.Logger;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.multipart.MultipartFile;
    import org.springframework.web.multipart.MultipartHttpServletRequest;
    
    @RestController
    @RequestMapping("/upload")
    public class Upload {
    
    	private static final Logger LOGGER = Logger.getLogger(Upload.class);
    
    	@RequestMapping("uploadFile")
    	public String uploadFile(@RequestParam("file") MultipartFile file) {
    
    		if (file.isEmpty()) {
    			return "上传失败,请选择文件";
    		}
    		String fileName = file.getOriginalFilename();
    		System.err.println("文件名称:" + fileName);
    		String filePath = "D:/upload/";
    		System.err.println("文件保存路径:" + filePath);
    		File dest = new File(filePath + fileName);
    		try {
    			file.transferTo(dest);
    			LOGGER.info("上传成功!!!");
    			return "上传成功!";
    		} catch (IOException e) {
    			LOGGER.error(e.toString(), e);
    		}
    		return "上传失败!!!";
    	}
    }
    

    2、如果要写jsp页面验证的话,选择文件,form的enctypemultipart/form-data

    我这里直接用Postman进行验证。

    1.打开Postman

    2.填写url,选择POST提交方式。

    3.①选择Body

    ​ ②选择form-data

    ​ ③添加KEY值:file

    ​ ④选择File

    ​ ⑤添加VALUE

    4、点击Send运行

    5、输出返回值。查看上传文件。上传成功!

    三、多文件上传

    在Controller中添加以下方法

    @RequestMapping("uploadFiles")
    public String uploadFiles(HttpServletRequest request) {
        List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("file");
        System.out.println("选择了文件数::" + files.size());
        String filePath = "D:/upload/";
    	System.err.println("文件保存路径:" + filePath);
    	for (int i = 0; i < files.size(); i++) {
    		MultipartFile file = files.get(i);
    		if (file.isEmpty()) {
    			return "上传第" + (i++) + "个文件失败!!!";
    		}
    		String fileName = file.getOriginalFilename();
    		System.err.println("文件名称:" + fileName);
    		File dest = new File(filePath + fileName);
    		try {
    			file.transferTo(dest);
    			LOGGER.info("第" + (i + 1) + "个文件上传成功!");
    		} catch (IOException e) {
    			LOGGER.error(e.toString(), e);
    			return "上传第" + (i++) + "个文件失败!!!";
    		}
    	}
    	return "上传成功!!!";
    }
    

    选择不同的文件。(注:总大小不要超过你设定的限制值)

    查看上传结果

  • 相关阅读:
    MVC4做网站后台:用户管理 ——用户组补充
    MVC4做网站后台:用户管理 ——用户组
    过去的一年,2013!
    MVC4做网站后台:模块管理1、修改模块信息
    MVC4做网站后台:栏目管理3、删除栏目与左侧列表菜单
    MVC4做网站后台:栏目管理2、修改栏目
    MVC4做网站后台:栏目管理1、添加栏目-续
    MVC4做网站后台:栏目管理1、添加栏目
    MVC4做网站六后台管理:6.2网站信息设置
    MVC4做网站六后台管理:6.1.4管理员列表、添加及删除
  • 原文地址:https://www.cnblogs.com/desireyang/p/12035393.html
Copyright © 2011-2022 走看看