文件上传功能(springMVC)

来源:互联网 发布:php7.1 编译 mysql 编辑:程序博客网 时间:2024/05/20 05:30

        新手哈,第一次写博客,如有写的不对的地方,请多多指教.

      要求:上传文件到项目下某个指定的文件夹,如果该文件夹不存在则创建一个这样的文件夹,如果存在则直接完成上传.

springMVC其实已经对上传文件这个功能进行了封装,在传参数的时候只要传进一个CommonsMultipartFile files即可,如果是多个文件就申明CommonsMultipartFile[] files这样的一个数组,另外还有一个类也可以完成上传就是MultipartFile,用法和CommonsMultipartFile 类似,但是在传参数的时候CommonsMultipartFile 需要在前面加RequestParam,而MultipartFile则不需要.另外,文件夹的创建则需要导入另一个包叫java.io.File,是属于io流的,代码如下:

<span style="font-size:18px;">public String importMenuFile(@RequestParam("file") CommonsMultipartFile[] files,HttpServletRequest request)throws Exception {        for(int i=0;i<files.length;i++){            String originalFilename=files[i].getOriginalFilename();//获取到文件的原始名称,如helloworld.txt            String storePath = FileOperateUtil.create(request);//简单重构了下.创建一个文件夹            files[i].transferTo(new File(storePath,originalFilename));//把文件写到刚刚的文件夹中                    }</span>
FileOperateUtil代码如下:
private static final String UPLOADDIR="//uploadDir"
<span style="font-size:18px;">public static String create(HttpServletRequest request){     //先把要创建的文件夹路径先设置好           String storePath=request.getSession().getServletContext().getRealPath("/")+FileOperateUtil.UPLOADDIR;      //创建这样一个文件夹,如果不存在则不需要创建       File f = new File(storePath);             if(!f.exists()){                   f.mkdirs();        }  //这边返回路径是因为待会要将这个路径插入数据库      return storePath;    }</span>

0 0
原创粉丝点击