2013-03-01 6 views
7

HTML में प्रपत्रकैसे जावा सर्वलेट में HttpServletRequest से फ़ाइलें प्राप्त करने

... 
<form method="post" action="/foobar"> 
    <input type="file" name="attachment" /> 
    <input type="text" name="foo" /> 
    ... other input fields 
</form> 

की तरह है और सर्वलेट तरह

@Override 
protected void doPost(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    String attachment = request.getParameter("attachement"); 
    String foo = request.getParameter("foo"); 
    // get other parameters from the request 
    // and get the attachment file 
} 

हो जाएगा और मैं

  1. सोच रहा हूँ

    क्या कोई तरीका है जो HttpServletRequest ऑब्जेक्ट से फ़ाइलों को प्राप्त करने के लिए तृतीय-पक्ष पुस्तकालयों का उपयोग नहीं करते हैं?

  2. request.getParameter("attachement") रिटर्न? क्या यह फ़ाइल का नाम है या कुछ और?

  3. क्या बाइनरी इनपुट स्वचालित रूप से फ़ाइल सिस्टम में वेब कंटेनर द्वारा संग्रहीत किया जाएगा या बस अस्थायी रूप से स्मृति में?

+3

पास कर सकते हैं यहां आप यहां जाएं: http://stackoverflow.com/questions/2422468/how-to-upload-files-to-server-using-jsp -सर्वलेट/2424824 # 2424824 –

+0

आप जेएसओएन डेटा को संसाधित करते हुए http://stackoverflow.com/questions/3831680/httpservletrequest-get-post-data पर भी देख सकते हैं। यदि आपका अनुलग्नक किसी URL द्वारा दर्शाया गया है, तो आपको डेटा लाने के लिए HTTPURL कनेक्शन की आवश्यकता होगी। –

उत्तर

1

आपकी फॉर्म कार्रवाई को किसी भी प्रकार से पहले "पोस्ट" और enctype = "multipart/form-data" होना चाहिए।

ने कहा ... आपके लिए फ़ाइल प्राप्त करने के लिए आपको स्वयं अनुरोध तैयार करना होगा।

आप की जाँच करनी चाहिए: जब आप नियंत्रक पक्ष आप पर प्रपत्र प्रस्तुत

Multipart requests/responses java

0

enctype = "बहुखण्डीय/फार्म-डेटा"

<form name="formname" action="servletName" method="post" enctype="multipart/form-data"> 
<input type="file" name="attachment" /> 
    <input type="text" name="foo" /> 
    ... other input fields 
</form> 
अब

अपने रूप में जोड़ने

String picture = (request.getParameter("attachment")).getBytes(); 
द्वारा चित्र प्राप्त कर सकते हैं

मैंने फ़ाइल को एक छवि होने के लिए माना है, आप किसी भी फ़ाइल को

+2

आपको स्ट्रिंग के बजाय बाइट सरणी में फ़ाइल प्राप्त नहीं करनी चाहिए। वैसे भी यह संकलन भी नहीं करेगा। आपके अंत से एक टाइपो हो सकता है। – Manpreet

संबंधित मुद्दे