欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

上传文件需要满足的条件

程序员文章站 2022-06-18 17:46:25
...

 

上传文件需要满足的条件

前台:

<form id="documentForm" name="documentForm" action="${pageContext.request.contextPath}/document/addDocument" enctype="multipart/form-data" method="post">
<tr><td class="font3 fftd">文档:<br/>
<input type="file" name="file" id="file"  size="30"/>

上传文件需要满足的条件

 

后台:

1.在pom.xml文件中导入 jar包

https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload/1.3.3

<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.3</version>
</dependency>

上传文件需要满足的条件

2.接收文件类型

上传文件需要满足的条件

处理器中:使用

/*文档上传=========================================================*/
    @RequestMapping("/addDocument")
    public String addDocument(Document document, HttpSession session,Model model) throws IOException {
            //System.out.println("上传的文档为:"+ document );
        //1.保存上传的文件到服务器
        String path = "D:/Junior Year.first/Intellij IDEA/hrm01/src/main/webapp/upload";
        //获取路径对应的文件名称
            File file = new File( path );
            if (!file.exists()){//上传文件的路径如果不存在
                file.mkdir();//自动按照路径创建文件夹。
            }
            //1.获取原始文件名称,并且加前缀随机字符串:System.currentTimeMillis() +"-",保证重名文件不被覆盖
                // String filename = System.currentTimeMillis() +"-"+ document.getFile().getOriginalFilename();
            //2.1生成自定义长度的随机字符,并设置随机字符的长度(0, 6)。
                /*String uuid = UUID.randomUUID().toString().replaceAll("-", "").substring(0, 6);
                String filename = uuid +"-"+ document.getFile().getOriginalFilename();*/
            //2.2或者直接简写为:(不设置长度)UUID.randomUUID().toString()+"-"
        //获取原始文件名称,并且加前缀随机字符串。
        String filename = UUID.randomUUID().toString()+"-" + document.getFile().getOriginalFilename();
            //定义保存的文件,就是把MultipartFile转换为File,保存到服务器对应的地址。
        document.getFile().transferTo( new File( path,filename) );
        //2.数据库中插入对应的数据,给document的filename赋值
        document.setFilename( filename );
            //获取当前登陆用户,也就是文档上传者。
        User login_user=(User) session.getAttribute( "login_user" );
        document.setUser( login_user );
            //调用service方法插入文档对应信息
        int rows=documentService.addDocument(document);
        if (rows>0){
            PageModel pageModel =new PageModel();
            int recordCound =documentService.findDocumentCount( null );
            pageModel.setRecordCount(recordCound);
            return "redirect:/document/findDocument?pageIndex="+pageModel.getTotelSize();
        }else {
            model.addAttribute( "fail","文档上传失败!" );
            return "/jsp/fail.jsp";
        }

    }

 

3.在spring-mvc.xml文件中配置Multipart解析器

<!--Multipart解析器, Ctrl+Shift+a,
    在弹出的提示搜索框中的Classes搜索下,查找CommonsMultipartResolver,
    然后,复制全名(Copy Reference)。粘贴在class的" "值中。 -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

    </bean>


上传文件需要满足的条件

相关标签: 文件上传、下载