springMVC(六)——文件上传

谁说胖子不能爱 提交于 2019-11-29 07:01:05

SpringMVC文件的上传

直接来步骤和代码:

1、首先需要导入jar包

2、前端代码

加颜色的代码需要注意

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <form action="upload" method="post" enctype="multipart/form-data">
        姓名:<input type="text" name="name"/><br>
        年龄:<input type="text" name="age"/><br>
        请选择上传文件:<input type="file" name="multipartFile"/>
        <input type="submit" value="上传">
    </form>
</body>
</html>

 

3、在springmvc中配置文件上传解析器

<!-- 配置文件上传解析器 -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!--设置文件上传的大小  字节  -->
        <property name="maxUploadSize" value="20971520"></property>
    </bean>

 

4、控制层处理代码

@Controller
public class TestController {
    @RequestMapping("upload")
    //HttpServletRequest:作用是为了获取上传文件的路径
    public String uploadFiles(MultipartFile multipartFile,HttpServletRequest request,Student stu,Model model) {
        //获取文件上传真实保存路径
        String path = request.getServletContext().getRealPath("/upload");
        System.out.println(path);
        //创建一个对象
        File file = new File(path);
        if(!file.exists()) {//该路径不存在
            file.mkdirs();
        }
        //获取文件名
        String filename =System.currentTimeMillis()+ multipartFile.getOriginalFilename();
        System.out.println(filename);
        File targetfile = new File(path+"/"+filename);
        try {
            //把文件写到指定的目录下
            FileUtils.writeByteArrayToFile(targetfile, multipartFile.getBytes());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        stu.setImgname(filename);
        model.addAttribute("stu", stu);
        return "info";
        
    }
}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!