栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

SpringMVC实现文件上传以及复制

Java 更新时间:发布时间: 百科书网 趣学号

零、导入依赖

     文件上传所需的jar包
        
            commons-fileupload
            commons-fileupload
            1.3.3
        
  
  springmvc的依赖
        
            org.springframework
            spring-webmvc
            5.3.19
        

一、一个简单的前端页面
注意:上传文件必须将form表单的enctype的属性设置: enctype=“multipart/form-data”

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2022/5/14
  Time: 17:08
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    调查问卷



    
早饭吃什么
午饭吃什么 为什么要吃它? 麻辣 麻酱! 好吃!

二、后端控制层

package com.xs.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;


@RequestMapping("/form")
@Controller
public class FormController {

//    @PostMapping("/food")
//    public String foodMethod(String breakfast, String lunch){
//        System.out.println("早餐吃什么:"+breakfast+"         午餐吃什么:"+lunch);
//        return "/Today.jsp";
//    }

    private static final String BASE_PATH="G:\Demo";

    @PostMapping("/food")
    public String foodMethod(String breakfast, String lunch, MultipartHttpServletRequest request) throws IOException {
        System.out.println("早餐吃什么:"+breakfast+"         午餐吃什么:"+lunch);
        // uploadFile前端页面文件上传的input框的名字
        MultipartFile uploadFile = request.getFile("uploadFile");
        System.out.println("文件名:"+uploadFile.getName());
        System.out.println("文件类型:"+uploadFile.getContentType());
        System.out.println("文件的名字:"+uploadFile.getOriginalFilename());
        String orignalFilename = uploadFile.getOriginalFilename();
        // 切割文件的后缀名
        String suffix = orignalFilename.substring(orignalFilename.lastIndexOf("."));
        // 定义文件的名字
        String fileName = "用户头像"+System.currentTimeMillis()+suffix;
        // 原生的方式将文件写到另一个文件中
//        InputStream inputStream = uploadFile.getInputStream();
//        FileOutputStream fileOutputStream = new FileOutputStream(BASE_PATH + File.separator + fileName);
//        int b = 0;
//        while ((b=inputStream.read())!=-1){
//            fileOutputStream.write(b);
//        }
       // 通过框架自带的方法实现,只需传入一个File对象即可
        uploadFile.transferTo(new File(BASE_PATH + File.separator + fileName));
        return "/Today.jsp";
    }
}

三、配置文件





    

    

    

    
        

        

        
    



转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/889181.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号