springMVC实现文件上传功能

package com.sxt.web;

 

import java.io.File;

import java.util.Date;

 

import javax.servlet.ServletContext;

 

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.context.ServletContextAware;

import org.springframework.web.multipart.commons.CommonsMultipartFile;

 

@Controller

public class FileUploadController implements ServletContextAware {

 

        private ServletContext servletContext;

       

        @Override

        public void setServletContext(ServletContext context) {

                 this.servletContext  = context;

        }

       

        @RequestMapping(value="/upload.do", method = RequestMethod.POST)

        public String handleUploadData(String name,@RequestParam("file")CommonsMultipartFile file){

                 if (!file.isEmpty()) {

                            String path = this.servletContext.getRealPath("/tmp/");  //获取本地存储路径

                            System.out.println(path);

                            String fileName = file.getOriginalFilename();

                            String fileType = fileName.substring(fileName.lastIndexOf("."));

                            System.out.println(fileType);

                            File file2 = new File(path,new Date().getTime() + fileType); //新建一个文件

                            try {

                                      file.getFileItem().write(file2); //将上传的文件写入新建的文件中

                            } catch (Exception e) {

                                      e.printStackTrace();

                            }

                            return "redirect:upload_ok.jsp";

                         }else{

                                  return "redirect:upload_error.jsp";

                         }

        }

}


 [微软用户1]一定要加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值