首页>代码>ssm(spring mvc+spring+mybatis)数据增删改查简单实例,支持附件文件上传下载>/web项目/Stan/src/controller/controller/FileUploadController.java
package controller.controller;

import java.io.File;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
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;
import org.springframework.web.servlet.ModelAndView;

/***
 * 文件上传控制类
 * @author swinglife
 *
 */
@Controller
@RequestMapping("/files")
public class FileUploadController {
	//通过Spring的autowired注解获取spring默认配置的request
	@Autowired
	private HttpServletRequest request;
	@RequestMapping("filesUpload")
	public void filesUpload(@RequestParam("files") MultipartFile[] files) {
		//判断file数组不能为空并且长度大于0
		if(files!=null&&files.length>0){
			//循环获取file数组中得文件
			for(int i = 0;i<files.length;i++){
				MultipartFile file = files[i];
				//保存文件
				saveFile(file);
			}
		}
		// 重定向
		/*return "filesUpload";*/
	}

	/***
	 * 保存文件
	 * @param file
	 * @return
	 */
	private boolean saveFile(MultipartFile file) {
		// 判断文件是否为空
		if (!file.isEmpty()) {
			try {
				// 文件保存路径
				String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/"
						+ file.getOriginalFilename();
				// 转存文件
				file.transferTo(new File(filePath));
				return true;
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return false;
	}

	/***
	 * 上传文件 用@RequestParam注解来指定表单上的file为MultipartFile
	 * 
	 * @param file
	 * @return
	 */
	@RequestMapping("fileUpload")
	public String fileUpload(@RequestParam("file") MultipartFile file) {
		// 判断文件是否为空
		if (!file.isEmpty()) {
			try {
				// 文件保存路径
				String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/"
						+ file.getOriginalFilename();
				// 转存文件
				file.transferTo(new File(filePath));
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		// 重定向
		return "redirect:/list.html";
	}

	/***
	 * 读取上传文件中得所有文件并返回
	 * 
	 * @return
	 */
	@RequestMapping("list")
	public ModelAndView list() {
		String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/";
		ModelAndView mav = new ModelAndView("list");
		File uploadDest = new File(filePath);
		String[] fileNames = uploadDest.list();
		for (int i = 0; i < fileNames.length; i++) {
			System.out.println(fileNames[i]);
		}
		return mav;
	}
}
最近下载更多
zxcvbnm1027  LV1 2024年6月21日
wanglinddad  LV55 2024年6月21日
2398164158  LV3 2023年9月24日
zhumeng168  LV5 2023年7月8日
xiang123xiang  LV1 2023年6月18日
神经蛙- 2023年5月17日
暂无贡献等级
2633528624  LV1 2022年12月11日
刘鹏yyds  LV10 2022年12月9日
zxc131313  LV12 2022年11月28日
zw050256  LV7 2022年11月9日
最近浏览更多
16693655118 4月15日
暂无贡献等级
2194192290li  LV1 2024年12月2日
lun123456 2024年6月22日
暂无贡献等级
zxcvbnm1027  LV1 2024年6月21日
暂无贡献等级
wanglinddad  LV55 2024年6月21日
2636804923  LV6 2024年6月17日
xin xie  LV1 2024年6月13日
xinleixie  LV1 2024年6月13日
2726018975  LV1 2024年5月25日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友