1、file.jsp。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>文件上传</title>
</head>
<body>
<form method="post" action="./file/upload.do" enctype="multipart/form-data">
<input type="file" name="uploadFile" value="请选择上传的文件" /> <input
type="submit" value="提交" />
</form>
</body>
</html>
2、控制器。
package com.ssm.cts.controller;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
/**
* CopyRright (c)2018-2028: chanpinxue.cn
* Project: cts
* Module Name: FileController
* Comments: 控制器
* JDK version used: JDK1.8
* Author: jzh
* Create Date: 2018-10-30
* Modified By: jzh
* Modified Date: 2018-10-30
* Why & What is modified:
* Version: <1.0>
*/
//注解@Controller表示它是一个控制器
@Controller("fileController")
//表明当请求的URI在/file下的时候才有该控制器响应
@RequestMapping("/file")
public class FileController {
@RequestMapping(path="/upload")
public void upload(@RequestParam MultipartFile uploadFile, HttpServletRequest request) throws Exception {
// 获取upload的绝对路径
String realPath = request.getServletContext().getRealPath("upload");
//System.out.println(realPath);
// 获取上传文件名
String fileName = uploadFile.getOriginalFilename();
//System.out.println(fileName);
Date dNow = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmssSSSS");
String saveName = formatter.format(dNow) + fileName.substring(fileName.lastIndexOf("."));
// 开始上传
//uploadFile.transferTo(new File(realPath, uploadFile.getOriginalFilename()));
uploadFile.transferTo(new File(realPath, saveName));
}
}
3、spring配置文件applicationContext.xml。
<!-- 文件上传 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- maxUploadSize按单位Byte计算 --> <property name="maxUploadSize" value="83886080" /> <property name="defaultEncoding" value="UTF-8" /> </bean>