【Spring MVC】——普通文件上传

来源:互联网 发布:软件使用方法培训 编辑:程序博客网 时间:2024/06/14 04:54

引言

  最近在做ITOO视频系统的项目,我做的模块是上传文件,需要通过FastDFS进行文件上传,直接上传到服务器。可是我之前没有了解过文件上传这块的知识,所以先从网上学了一个文件上传的小demo。

配置spring mvc

  因为咱们新框架里的spring mvc的都是配置好的,所以只需要简单的加上支持文件上传的bean就行了。

<!-- 支持上传文件 -->      <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>  

controller

  需要从jsp获取文件信息,并保存到本地,代码如下:

package com.codeif.action;  import java.io.File;  import java.util.Date;  import javax.servlet.http.HttpServletRequest;  import org.springframework.stereotype.Controller;  import org.springframework.ui.ModelMap;  import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.RequestParam;  import org.springframework.web.multipart.MultipartFile;  @Controller  public class UploadAction {      @RequestMapping(value = "/upload.do")      public String upload(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, ModelMap model) {          System.out.println("开始");          String path = request.getSession().getServletContext().getRealPath("upload");  //获取保存文件的路径        String fileName = file.getOriginalFilename();  //获取原始文件名称        System.out.println(path);          File targetFile = new File(path, fileName);          //如果文件路径不存在,就创建一个路径        if(!targetFile.exists()){              targetFile.mkdirs();          }          //保存          try {              file.transferTo(targetFile);          } catch (Exception e) {              e.printStackTrace();          }          model.addAttribute("fileUrl", request.getContextPath()+"/upload/"+fileName);          return "result";      }  }  

jsp

  简单的文件上传页面代码:

<%@ page pageEncoding="utf-8"%>  <!DOCTYPE html>  <html>  <head>  <meta charset="utf-8">  <title>上传图片</title>  </head>  <body>  <form action="upload.do" method="post" enctype="multipart/form-data">  <input type="file" name="file" /> <input type="submit" value="Submit" /></form>  </body>  </html>  

总结

  这篇博客,主要介绍了简单的文件上传功能,有了这个基础之后,再看我们的FastDFS是如何实现文件上传的就容易了!下篇博客继续!

1 0
原创粉丝点击