Javaweb文件上传

保存位置

用input上传文件的核心代码

        if(ServletFileUpload.isMultipartContent(req)){
            //创建FileItem工厂实现类
            FileItemFactory factory=new DiskFileItemFactory();
            //创建用于解析上传数据的工具类
            ServletFileUpload servletFileUpload=new ServletFileUpload(factory);
            //解析上传的数据,获得每一个表单项FileItem
            try {
                List<FileItem> list= servletFileUpload.parseRequest(req);
            //循环判断,每一个表单项是普通类型,还是上传的文件
                for(FileItem fileItem:list){
                    if(fileItem.isFormField()){
                    //普通表单项
                        System.out.println("表单项的name属性值:"+fileItem.getFieldName());
                        //utf-8解决中文乱码问题
                        System.out.println("表单项的name的value值:"+fileItem.getString("UTF-8"));
                    }else{
                    //文件
                        System.out.println("表单项的name属性值:"+fileItem.getFieldName());
                        System.out.println("上传的文件名:"+fileItem.getName());
                        String path=req.getSession().getServletContext().getRealPath("/");
                        fileItem.write(new File(path+"data/"+fileItem.getName()));
                    }
                }
            } catch (FileUploadException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            } 
posted @ 2021-04-06 23:26  Hanabi_521  阅读(40)  评论(0编辑  收藏  举报