file upload - विकेट 6-Multipart रूप में HttpServletRequest पैरामीटर कैप्चरिंग?



file-upload recaptcha (1)

विकेट इन एक्शन बुक के लिए धन्यवाद, मैंने समाधान पाया है:

MultipartServletWebRequest multiPartRequest = webRequest.newMultipartWebRequest(getMaxSize(), "ignored");
// multiPartRequest.parseFileParts(); // this is needed since Wicket 6.19.0+
IRequestParameters params = multiPartRequest.getRequestParameters();

मुझे getParameterValue () विधि का उपयोग करते हुए मूल्यों को पढ़ने के लिए अनुमति देता है।

विकेट 6.17 और सर्वलेट 2.5 का उपयोग करते हुए, मेरे पास एक ऐसा फ़ॉर्म है जो फ़ाइल को अपलोड करने की अनुमति देता है, और रीकॅप्चा (रीकैप्चा 4 जे का उपयोग करके) भी है। जब फ़ाइल अपलोड किए बिना फ़ॉर्म रीकैपटा होता है, तो यह कोड का उपयोग करके ठीक से काम करता है:

    final HttpServletRequest servletRequest = (HttpServletRequest ) ((WebRequest) getRequest()).getContainerRequest();
    final String remoteAddress = servletRequest.getRemoteAddr();
    final String challengeField = servletRequest.getParameter("recaptcha_challenge_field");
    final String responseField = servletRequest.getParameter("recaptcha_response_field");

चुनौती और प्रतिक्रिया क्षेत्रों को पाने के लिए ताकि वे मान्य हो सकें।

यह फ़ाइल फ़ाइल अपलोड होने पर काम नहीं करता है क्योंकि अपलोड अपलोड करने के लिए प्रपत्र के बहुपक्षीय होना चाहिए, और इसलिए जब मैं उस फ़्रेम में पैरामीटर प्राप्त करने का प्रयास करता हूं, यह विफल हो जाता है

मैंने पैरामीटर को अलग से ServletFileUpload का प्रयोग करने का प्रयास किया है:

    ServletFileUpload fileUpload = new ServletFileUpload(new DiskFileItemFactory(new FileCleaner()) );
    String response = IOUtils.toString(servletRequest.getInputStream());

तथा

    ServletFileUpload fileUpload = new ServletFileUpload(new DiskFileItemFactory(new FileCleaner()) );
    List<FileItem> requests = fileUpload.parseRequest(servletRequest);

दोनों जिनमें से हमेशा रिक्त वापस आता है।

क्रोम के नेटवर्क कंसोल का उपयोग करते हुए, मैं उन मानों को देखता हूं जिन्हें मैं अनुरोध पेलोड में देख रहा हूं, इसलिए मुझे पता है कि वे वहां हैं।

कोई भी सलाह क्यों रिकॉर्ड्स वापस आ रही है और उन्हें कैसे खोजना है, इस बारे में काफी सराहना की जाएगी।

अपडेट: मैंने रीकैप्चा घटक मल्टीपार्ट बनाने का भी प्रयास किया है और फाइल अपलोड को छोड़ दिया है। नतीजा अभी भी यही है कि प्रतिक्रिया खाली है, मल्टीपार्ट फॉर्म सबमिशन के बारे में मूल निष्कर्ष से मुझे समस्या हो रही है।





wicket-6