private void extractParametersFromMultipartFormData(HttpServletRequest req) throws IOException, ServletException {
        for (Part dataPart : req.getParts()) {
            if (dataPart.getSize() > WebApiServlet.MAX_MULTIPART_POST_DATA_SIZE) {
                continue; // too big, so we simply skip
            }

            String dataKey = dataPart.getName();
            int dataSize = (int) dataPart.getSize();
            byte[] buffer = new byte[dataSize];
            dataPart.getInputStream().read(buffer, 0, dataSize);
            String dataValue = new String(buffer, StandardCharsets.UTF_8);
            cachedParams.put(dataKey, dataValue);
        }
    }
It's not the recommended way to handle "multipart/form-data", as form-data can carry non-char data
like bytes array. Provided currently there's ONLY string used in WebAPI, so for CONVENIENT, this
function translate all form-data to traditional "parameters" (like how it does in "x-www-form-urlencoded")
for reusing current dispatcher-execute framework.
If one day there's need to received serialized POJO or some kinds of binary stream, please compose a
full powered function to replace this one, as this is ONLY for backward compatibility.
@param req
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/simplemvc/MultipartHttpServletRequest.java