fileupload上传文件 DiskFileItemFactory

用这两个jar包
在这里插入图片描述

java端

//解析和检查请求,是否是post方式,是否是二进制流格式 enctype="multipart/form-data"
            Boolean isMultipart= ServletFileUpload.isMultipartContent(req);
            if (isMultipart) {
    
    //如果是,则上传
                try {
    
    
                    //创建FileItemFactory对象
                    FileItemFactory factory=new DiskFileItemFactory();
                    //创建文件上传的处理器
                    ServletFileUpload upload=new ServletFileUpload(factory);
                    //解析请求
                    List<FileItem> items=upload.parseRequest(req);
                    //迭代出每一个FileItem
                    for (FileItem item : items) {
    
    
                        String fileName = item.getFieldName();
                        if (item.isFormField()) {
    
    
                            //普通的表单控件
                            String value = item.getString("utf-8");
                            System.out.println(fileName + "->" + value);
                        } else {
    
    
                            //上传文件的控件
                            System.out.println(fileName + "->" + item.getName()); //一个的标签的name,一个是文件的name
                            item.write(new File("E:/", item.getName())); //把上传的文件保存到某个文件中
                        }
                    }

                }catch (Exception e) {
    
    
                    e.printStackTrace();
                }
                

jsp端:
注意:form要有enctype="multipart/form-data"和,input里要有name值

<form action="/servlet/StudentInfoServlet?order=addStu" method="post"  enctype="multipart/form-data">
    <table width="497" border="1" align="center">
        <tr>
            <td height="39" colspan="3" bgcolor="#00FFFF"><div align="center" class="cl">修改个人详细信息</div></td>
        </tr>
        <tr>
            <td width="112" height="65" bgcolor="#00FFFF" class="ll" style="font-size: 24px">学号:</td>
            <td width="154" bgcolor="#9966CC"><input type="text" name="sno"></td>
            <td width="209" rowspan="5"><input type="file" value="添加学生照片" name="uploadImg"></td>
        </tr>
        <tr>
            <td height="66" bgcolor="#00FFFF" class="ll" style="font-size: 24px">姓名:</td>
            <td bgcolor="#9966CC"><input type="text" name="name"></td>
        </tr>
        <tr>
            <td height="63" bgcolor="#00FFFF" class="ll" style="font-size: 24px">性别:</td>
            <td bgcolor="#9966CC"><input type="text" name="sex"></td>
        </tr>
        <tr>
            <td height="64" bgcolor="#00FFFF" class="ll" style="font-size: 24px">专业:</td>
            <td bgcolor="#9966CC"><input type="text" name="speciality"></td>
        </tr>
        <tr>
            <td height="86" bgcolor="#00FFFF" class="ll" style="font-size: 24px">班级:</td>
            <td bgcolor="#9966CC"><input type="text" name="classname"></td>
        </tr>
        <tr>
            <td><input type="submit" id="confirmBtu" value="确认添加"></td>
        </tr>
    </table>
</form>

猜你喜欢

转载自blog.csdn.net/weixin_42692989/article/details/90725510