spring mvc 文件上传

 

依赖


            commons-io
            commons-io
            2.4



    
        commons-fileupload
        commons-fileupload
        1.2
    

  

具体可以参考 教你一步步搭建ssm框架,第一步实现springmvc下的页面跳转 - 2018

uploadFile.jsp

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




 spring mvc 文件上传


    
fileName:
file:

  

UploadController

package com.faceghost.app.controller;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.UUID;

import javax.servlet.http.HttpServletRequest;

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

@Controller
public class UploadController {

    /**
     * 文件上传
     * @param request
     * @return
     */
    @RequestMapping("/execUpload")
    public void execUpload(MultipartFile file , String fileName, HttpServletRequest request) throws Exception {
        //开始
        System.err.println("upload s ...");

        System.err.println("fileName:" + fileName);

        String oFileName = file.getOriginalFilename();

        System.err.println("oFileName:" + oFileName);

        /**
         * 获取文件类型
         * 
         */
        String fileType = oFileName.substring(oFileName.lastIndexOf("."),oFileName.length());

        /**
         * 获取项目webapp目录下的upload的路径
         */
        String prePath  = request.getSession().getServletContext().getRealPath("upload");

        System.err.println("prePath:" + prePath);

        /**
         * 上传保存后新的文件名称
         */
        String newFileName = UUID.randomUUID().toString() + fileType;

        System.err.println("newFileName:" + newFileName);



        /**
         * 复制流,或者,IOUtils.copy(input, output);
         */
        InputStream inputStream = file.getInputStream();
        File newFile = new File(prePath + File.separator + newFileName);

        OutputStream outputStream = new FileOutputStream(newFile);
        byte[] b = new byte[inputStream.available()] ;
        inputStream.read(b);
        outputStream.write(b);

        inputStream.close();
        outputStream.close();

        System.err.println("upload e ...");
    }

}

  

浏览器访问:http://localhost:8080/app/uploadFile

spring mvc 文件上传_第1张图片

点击上传

spring mvc 文件上传_第2张图片

 

 

转载自:spring mvc 文件上传 - 2018

你可能感兴趣的:(spring mvc 文件上传)