java获取form表单里的字段和文件流

        Map map=new HashMap();
        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        if (isMultipart) {
            // 文件上传
            // 用stream api处理,提高性能
            // System.err.println("file upload request...");
            ServletFileUpload upload = new ServletFileUpload();
            FileItemIterator fileItemIterator = upload.getItemIterator(request);
            for (; fileItemIterator.hasNext();) {
                FileItemStream item = fileItemIterator.next();
                String name = item.getFieldName();
                System.out.println(name);
                if (item.isFormField()) {
                    InputStream stream = item.openStream();
                    // 普通域
                    String value = Streams.asString(stream, "UTF-8");
                    if (map.containsKey(name)) {
                        String valueto = (String) map.get(name);
                        valueto += "," + value;
                        map.put(name, valueto);
                    } else {
                        map.put(name, value);
                    }
                    stream.close();
                } else {
                    // 文件域
                    InputStream in = item.openStream();// 获取文件流
                }
            }
        }

原文地址:https://www.cnblogs.com/fpc-syq/p/8949641.html

时间: 2024-08-11 09:53:49

java获取form表单里的字段和文件流的相关文章

serialize可以获取form表单里面的数值

serialize属性 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <script src="../jquery-1.12.2.js"></script> 7 </head> 8 <

form表单里如果只存在一个文本框,enter键提交

在这里说一说浏览器里form表单的默认行为 我们都知道浏览器是存在很多默认行为的,可能是出于常用行为考虑又或者是历史原因.但有时候我们不需要这些默认行为.以下: 1).当form表单里只存在一个input输入框时,回车会提交表单操作.  解决方法可以在form里面再加入一个隐藏的input输入框,或者把input从form里面放出来. 2).当form表单里有一个type=”submit”的按钮,回车会自动提交. 3).当form表单里的button按钮没有加type类型时,在ie下默认是but

ubuntu 下CGI c语言 获取form表单的数据

前面文章:使用cgi c 写了一个helloworld 这次 主要使用CGI c语言 获取form表单的数据 1 login.c [email protected]:/usr/lib/cgi-bin$ cat login.c #include<stdio.h> #include<stdlib.h> #include <string.h> int main(){ int i,len=0; char poststr[100]; char m[10],n[10]; char

node服务器获取form表单

搭建好服务器后 (前言,本文只是介绍form表单直接提供给 本页面数据,即在不刷新页面的前提下更改数据) 在public里面添加index.html 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <script src="node_mo

JS获取form表单所有属性值

// 得到一个表单里的全部信息function getFormQueryString() { var frmID=document.forms[0]; var i,queryString="",and=""; var item; // for each form's object var itemValue; // store each form object's value for(i=0;i<frmID.length;i++) {  item=frmID[

获取form表单默认提交的返回值

1.经常用form表单提交的小伙伴有没有发现,form表单默认的提交是没有返回值的,而且默认提交成功之后是跳转,跳转的action的路径,下面写一下默认的提交如何获取到form表单的返回值json,并且阻止默认的跳转动作. 页面结构见下面: <form target="form" action="" enctype="multipart/form-data" method="post"> <input typ

form表单和ajax上传文件

使用form表单上传文件 知识点/注意点 from表单里 要加上这行 enctype="multipart/form-data" 上传文件 上传的是二进制数据 用request.FILES 拿到的也是一个字典 前端代码 index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Titl

form表单无刷新上传文件

很多时候,我们上传完文件之后,不想当前页面跳转,或者是刷新一下.那么我们需要怎么做呢? 首先,我们用的是最简单的form表单上传,提交方式.代码如下 <!--大家注意到这个form的target的了么?这个target属性的值frameFile,是form之后的 iframe的name值,这样的写法是让当前的form表单在提交表单内容的时候转交给iframe中进行页面 中表单处理,并且不会产生当前页面跳转!--> <form id="uploadForm" class

form表单提交,上传文件以及提交前验证的问题。

form表单是在开发中比较基础也比较常见的问题了,今天就给大家分享一下有关form表单提交的一些小问题. 首先我们来看一下基本的form结构.这里面我直接引用的bootstrap的form表单的框架. <form class="form-horizontal" id="form1" name="myForm" action="/cgjxx/fwjl_delete_servlet" method="post&qu