码迷,mamicode.com
首页 > Web开发 > 详细

文件的上传对表单的要求

时间:2018-11-28 22:03:46      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:block   out   request   大小   不能   tin   nts   BMI   上传文件   

<!-- 
上传文件:表单要求
1,enctype="multipart/form-data"
2.表单中需要有type="file"的input
3.表单的请求方式一定是POST。即method="post"
servlet要求
1.不能使用request.getParameter
2.使用request.getInputStream

 -->
<form action="/file_upload/RegistServlet" method="post" enctype="multipart/form-data">
    用户:<input name="username" type="text"><br>
    注册:<input name="password" type="password"><br>
    照片:<input name="pic" type="file" ><br>
    <input type="submit" value="提交">
</form>
        //获得复杂类型表单的输入流
        InputStream in = request.getInputStream();
        //获得输入流的内容
        String result = IOUtils.toString(in);

fileUpload的简单应用

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //创建接受文件的工厂类
        DiskFileItemFactory factory = new DiskFileItemFactory();
        //创建文件解析对象
        ServletFileUpload sfu = new ServletFileUpload(factory);
        
        try {
            //解析request,获得表单中的每一文件(包含普通文本域)项
            List<FileItem> list = sfu.parseRequest(request);
            //遍历每一个文本项
            for(FileItem fi : list){
                //获得原始文件名
                String origFileName = fi.getName();
                //获得文本域项的内容
                String content = fi.getString();
                //获得文本域的名字
                String fieldName = fi.getFieldName();
                //文本域的内容的类型
                String ContentType = fi.getContentType();
                //获得文件的大小(以字节为单位)
                long size = fi.getSize();
                //是否是普通文本(普通文本就是非长传文件形式的文本)true代表普通字段,false是文件字段
                boolean isFieldForm = fi.isFormField();
                System.out.println("原始文件名:"+origFileName);
                System.out.println("文本项的内容:"+content);
                System.out.println("文本域的名字:"+fieldName);
                System.out.println("文本域的内容类型:"+ContentType);
                System.out.println("文件大小:"+size);
                System.out.println("是否是普通字段:"+isFieldForm);
                System.out.println("-----------------------------------");
            }
        } catch (FileUploadException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

 

文件的上传对表单的要求

标签:block   out   request   大小   不能   tin   nts   BMI   上传文件   

原文地址:https://www.cnblogs.com/Mr-Dxin/p/10034435.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!