1. 程式人生 > >multipart/form-data 獲取form-data資料--java

multipart/form-data 獲取form-data資料--java

表單資料都儲存在http的正文部分,各個表單項之間用boundary隔開。格式類似於下面這樣:用request.getParameter是取不到資料的,這時需要通過request.getInputStream來取資料,不過取到的是個InputStream,所以無法直接獲取指定的表單項(需要自己對取到的流進行解析,才能得到表單項以及上傳的檔案內容等資訊)。這種需求屬於比較共通的功能,所以有很多開源的元件可以直接利用。比如:apache的fileupload元件,smartupload等。通過這些開源的upload元件提供的API,就可以直接從request中取得指定的表單項了。

這裡使用一種簡單的方式

System.out.println(request.getContentType());
        Enumeration<String> parameterNames = request.getParameterNames();
        while (parameterNames.hasMoreElements()) {
            String name = parameterNames.nextElement();
            System.out.println("引數名:"+name + "\t" +"結果:"+ request.getParameter(name));
        }

前端:

ps:微信小程式上傳的例子

後臺獲取結果: