Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> प्रोग्रामिंग

JSP में अपलोड की गई फ़ाइलें कहाँ संग्रहीत होंगी?

<घंटा/>

एक जेएसपी का उपयोग एचटीएमएल फॉर्म टैग के साथ किया जा सकता है ताकि उपयोगकर्ता सर्वर पर फाइल अपलोड कर सकें। अपलोड की गई फ़ाइल टेक्स्ट फ़ाइल या बाइनरी या छवि फ़ाइल या कोई भी दस्तावेज़ हो सकती है।

फ़ाइल अपलोड फ़ॉर्म बनाना

आइए अब समझते हैं कि फाइल अपलोड फॉर्म कैसे बनाया जाता है। निम्न HTML कोड एक अपलोडर प्रपत्र बनाता है। ध्यान देने योग्य महत्वपूर्ण बिंदु निम्नलिखित हैं -

  • फ़ॉर्म विधि विशेषता को POST . पर सेट किया जाना चाहिए विधि और GET पद्धति का उपयोग नहीं किया जा सकता है।

  • फ़ॉर्म एन्टाइप विशेषता को मल्टीपार्ट/फॉर्म-डेटा पर सेट किया जाना चाहिए ।

  • फ़ॉर्म कार्रवाई विशेषता को जेएसपी फ़ाइल पर सेट किया जाना चाहिए जो बैकएंड सर्वर पर फ़ाइल अपलोडिंग को संभालेगा। निम्न उदाहरण uploadFile.jsp का उपयोग कर रहा है फ़ाइल अपलोड करने के लिए प्रोग्राम फ़ाइल।

  • एकल फ़ाइल अपलोड करने के लिए आपको एकल <इनपुट .../> . का उपयोग करना चाहिए विशेषता के साथ टैग प्रकार ="फ़ाइल" . एकाधिक फ़ाइलों को अपलोड करने की अनुमति देने के लिए, नाम विशेषता के लिए अलग-अलग मानों वाले एक से अधिक इनपुट टैग शामिल करें। ब्राउज़र उनमें से प्रत्येक के साथ एक ब्राउज़ बटन को संबद्ध करता है।

उदाहरण

  <शीर्षक>फ़ाइल अपलोड करने का फ़ॉर्म   

फ़ाइल अपलोड:

अपलोड करने के लिए एक फ़ाइल का चयन करें:
<इनपुट प्रकार ="फ़ाइल" नाम ="फ़ाइल" आकार ="50" />
<इनपुट प्रकार ="सबमिट" मान ="अपलोड फाइल" />

यह निम्नलिखित परिणाम प्रदर्शित करेगा। अब आप स्थानीय पीसी से एक फाइल का चयन कर सकते हैं और जब उपयोगकर्ता "अपलोड फाइल" पर क्लिक करता है, तो फॉर्म चयनित फाइल के साथ जमा हो जाता है -

आउटपुट

फ़ाइल अपलोडअपलोड करने के लिए फ़ाइल का चयन करें

नोट -उपरोक्त फॉर्म सिर्फ डमी फॉर्म है और काम नहीं करेगा, आपको इसे काम करने के लिए अपनी मशीन पर उपरोक्त कोड का प्रयास करना चाहिए।

बैकएंड JSP स्क्रिप्ट लिखना

आइए अब हम उस स्थान को परिभाषित करते हैं जहां अपलोड की गई फ़ाइलें संग्रहीत की जाएंगी। आप इसे अपने प्रोग्राम में हार्ड कोड कर सकते हैं या इस निर्देशिका नाम को बाहरी कॉन्फ़िगरेशन जैसे संदर्भ-परम का उपयोग करके भी जोड़ा जा सकता है web.xml में तत्व इस प्रकार है -


 .... <संदर्भ-परम> <विवरण> अपलोड की गई फ़ाइल को संग्रहीत करने का स्थान फ़ाइल-अपलोड  c:\apache-tomcat-5.5.29\webapps\data\   ....

UploadFile.jsp के लिए स्रोत कोड निम्नलिखित है:. यह एक बार में कई फाइलों को अपलोड करने का काम संभाल सकता है। आइए अब फाइलों को अपलोड करने के साथ आगे बढ़ने से पहले निम्नलिखित पर विचार करें।

  • निम्न उदाहरण फ़ाइल अपलोड पर निर्भर करता है; सुनिश्चित करें कि आपके पास commons-fileupload.x.x.jar का नवीनतम संस्करण है अपने क्लासपाथ में फ़ाइल करें। आप इसे https://commons.apache.org/fileupload/ से डाउनलोड कर सकते हैं।

  • फाइलअपलोड कॉमन्स आईओ पर निर्भर करता है; सुनिश्चित करें कि आपके पास commons-io-x.x.jar . का नवीनतम संस्करण है अपने क्लासपाथ में फ़ाइल करें। आप इसे https://commons.apache.org/io/ से डाउनलोड कर सकते हैं।

  • निम्नलिखित उदाहरण का परीक्षण करते समय, आपको एक फ़ाइल अपलोड करनी चाहिए जो कि maxFileSize . से कम आकार की हो अन्यथा फ़ाइल अपलोड नहीं की जाएगी।

  • सुनिश्चित करें कि आपने निर्देशिकाएं बनाई हैं c:\temp और c:\apache-tomcat5.5.29\webapps\data बहुत पहले से।

<%@ पृष्ठ आयात ="java.io.*,java.util.*, javax.servlet.*" %><%@ पृष्ठ आयात ="javax.servlet.http.*" %><%@ पृष्ठ आयात ="org.apache.commons.fileupload.*" %><%@ पृष्ठ आयात ="org.apache.commons.fileupload.disk.*" %><%@ पृष्ठ आयात ="org.apache.commons. fileupload.servlet.*" %><%@ पृष्ठ आयात ="org.apache.commons.io.output.*" %><% फ़ाइल फ़ाइल; इंट मैक्सफाइलसाइज =5000 * 1024; int maxMemSize =5000 * 1024; ServletContext प्रसंग =pageContext.getServletContext (); स्ट्रिंग फ़ाइलपाथ =संदर्भ। getInitParameter ("फ़ाइल-अपलोड"); // सामग्री प्रकार सत्यापित करें स्ट्रिंग सामग्री टाइप =request.getContentType (); अगर ((contentType.indexOf ("मल्टीपार्ट/फॉर्म-डेटा")> =0)) {DiskFileItemFactory factory =new DiskFileItemFactory (); // अधिकतम आकार जो मेमोरी फैक्ट्री में स्टोर किया जाएगा। सेटसाइज थ्रेशोल्ड (मैक्समेम साइज); // डेटा को बचाने के लिए स्थान जो maxMemSize से बड़ा है। Factory.setRepository (नई फ़ाइल ("सी:\\ अस्थायी")); // एक नई फ़ाइल अपलोड हैंडलर बनाएँ ServletFileUpload अपलोड =नया ServletFileUpload (कारखाना); // अधिकतम फ़ाइल आकार अपलोड किया जाना है। upload.setSizeMax (maxFileSize); कोशिश करें {// फ़ाइल आइटम प्राप्त करने के अनुरोध को पार्स करें। सूची fileItems =upload.parseRequest (अनुरोध); // अपलोड की गई फ़ाइल आइटम को संसाधित करें Iterator i =fileItems.iterator (); out.println (""); out.println ("<सिर>"); out.println ("<शीर्षक>जेएसपी फ़ाइल अपलोड"); out.println (""); out.println ("<बॉडी>"); जबकि (i.hasNext ()) { FileItem fi =(FileItem)i.next (); अगर (!fi.isFormField ()) {// अपलोड की गई फ़ाइल पैरामीटर प्राप्त करें स्ट्रिंग फ़ील्डनाम =fi.getFieldName (); स्ट्रिंग फ़ाइल नाम =fi.getName (); बूलियन isInMemory =fi.isInMemory (); लंबा आकारइनबाइट्स =fi.getSize (); // फ़ाइल लिखें if(fileName.lastIndexOf("\\")>=0) { file =new File(filePath + fileName.substring(fileName.lastIndexOf("\\"))); } और {फ़ाइल =नई फ़ाइल (filePath + fileName.substring(fileName.lastIndexOf("\\")+1)); } फाई.लिखें (फ़ाइल); out.println ("अपलोड किया गया फ़ाइल नाम:" + फ़ाइलपाथ + फ़ाइल नाम + "
"); } } out.println (""); out.println (""); } पकड़ (अपवाद पूर्व) { System.out.println (पूर्व); } } और { out.println (""); out.println ("<सिर>"); out.println ("<शीर्षक>सर्वलेट अपलोड"); out.println (""); out.println ("<बॉडी>"); out.println ("

कोई फ़ाइल अपलोड नहीं की गई

"); out.println (""); out.println (""); }%>

अब आपके द्वारा ऊपर बनाए गए HTML फॉर्म का उपयोग करके फ़ाइलें अपलोड करने का प्रयास करें। जब आप कोशिश करते हैं https://localhost:8080/UploadFile.htm, यह निम्नलिखित परिणाम प्रदर्शित करेगा। यह आपकी स्थानीय मशीन से किसी भी फाइल को अपलोड करने में आपकी मदद करेगा।

फ़ाइल अपलोडअपलोड करने के लिए फ़ाइल का चयन करें

यदि आपकी JSP स्क्रिप्ट ठीक काम करती है, तो आपकी फ़ाइल को c:\apache-tomcat5.5.29\webapps\data\ में अपलोड किया जाना चाहिए निर्देशिका।


  1. PST? ईएमएल? 5 सबसे आम ईमेल फ़ाइलें

    1970 के दशक में MIT की प्रयोगशाला में कंप्यूटरों के बीच संचार के एक सरल साधन के रूप में शुरू हुआ, ईमेल 21वीं सदी के इंटरनेट पर सबसे लोकप्रिय संचार माध्यमों में से एक बन गया है। ईमेल के माध्यम से, आप एकल या एकाधिक प्राप्तकर्ताओं को और उनसे टेक्स्ट, चित्र, लिंक आदि का संयोजन भेज और प्राप्त कर सकते है

  1. Windows 10 पर सबसे बड़ी फ़ाइलें कैसे खोजें?

    अगर आपको स्टोरेज स्पेस कम होने का संदेश मिलता है और मेमोरी खाली करना मुश्किल हो जाता है, तो ऐसा करने का सबसे अच्छा तरीका है कि आप अपने विंडोज 10 पर एक बड़ी फाइल ढूंढ लें। इससे यह जानने में मदद मिलेगी कि कौन सी फाइलें अनावश्यक हैं, और आप उन्हें हटा सकते हैं इस प्रकार भंडारण स्थान की वसूली। लेकिन पीस

  1. डुप्लिकेट फाइल फिक्सर VS डुप्लीकेट फाइल फाइंडर - सबसे अच्छा कौन सा है?

    डुप्लिकेट फ़ाइलें एक बड़ी समस्या हैं, इसलिए नहीं कि वे संग्रहण स्थान लेती हैं। बल्कि इसलिए भी क्योंकि वे अनावश्यक रूप से सिस्टम के प्रदर्शन को धीमा कर देते हैं। और कोई जन्मजात उपकरण नहीं है जो इस समस्या से निपट सके। इसके अलावा, डुप्लिकेट को मैन्युअल रूप से ढूंढना और हटाना एक कठिन काम है। इसलिए, डुप