java get fields and file stream in form form

        Map map= new HashMap();
         boolean isMultipart = ServletFileUpload.isMultipartContent(request);
         if (isMultipart) {
             // File upload
             // Processing with stream api to improve performance
             // 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 {
                     // File field 
                    InputStream in = item.openStream(); // Get file stream 
                }
            }
        }

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324883264&siteId=291194637