ssm+maven框架使用ajax请求上传文件

上传图片的请求方式一般分为两种:
第一种是通过表单中的action跳转。
第二种是通过Ajax异步传输。
本篇文章使用的是第二种方式。
pom.xml中添加依赖

 
            commons-fileupload
            commons-fileupload
            1.3.1
        

springmvc的配置文件

 
        
        
     
        
    

前台html页面




    
    文件上传与下载
    


文件:

action文件

 @RequestMapping(value = "/upload.action")
    public @ResponseBody
    String update(@RequestParam(value = "fileName", required = false) MultipartFile file, HttpServletRequest request) throws IOException {
        String path = request.getServletContext().getRealPath("upload");//文件的上传路径
        System.out.println("path" + path);
        String fileName = file.getOriginalFilename();//获取文件名
        System.out.println("文件名" + fileName);
        String path1[] = path.split("\\\\");//对于特殊字符的分隔|  ^   $  *   .    (    )   \   /等都是正则表达式的一部分,只能通过前面加上\\进行转义。注意\要用三个\\\,也就是split(“\\\\”)
        String path2 = path1[path1.length - 1];//截取图片所在的文件夹名称
        File dir = new File(path, fileName);//将指定文件上传到指定的目录下
        /**
         * 如果文件夹不存在,自动创建该文件夹
         */
        if (!dir.exists()) {
            dir.mkdirs();
        }
        //MultipartFile自带的解析方法
        if (!file.isEmpty()) {
            file.transferTo(dir);
            return path2 + '\\' + fileName;
        } else {
            System.out.println("空文件");
            return "不允许上传空文件";
        }

    }

完整的代码已经上传至github,写的不好,欢迎指教。

你可能感兴趣的:(ssm+maven框架使用ajax请求上传文件)