दिलचस्प पोस्ट
सदिश के रूप में एक dplyr tbl कॉलम निकालें PHP विंडोज़ मशीन पर एसएसएच 2 स्थापित करें पुनरावर्ती समवर्ती HashMap.computeIfAbsent () कॉल कभी समाप्त नहीं होता है बग या "सुविधा"? एएसपी.नेट में 404 को लागू करने का सर्वोत्तम तरीका ExpandoObject के वास्तविक लाभ क्या हैं? अजाक्स HTTPS पर अनुरोध प्राप्त करें ViewPager में उंगली से स्वाइप करके पेजिंग को अक्षम कैसे करें लेकिन फिर भी प्रोग्राम को स्वाइप करने में सक्षम हो? विज़ुअल स्टूडियो 2012 में मैक्रोज़ के लिए वैकल्पिक ArrayList बनाम सूची <> में सी # एंड्रॉइड में एक छवि दृश्य की चौड़ाई और ऊंचाई कैसे प्राप्त करें? विरोधी-अगर अभियान दशमलव विभाजक के रूप में अल्पविराम के साथ पार्स करने के लिए सबसे अच्छा तरीका? Mysql कन्वर्ट कॉलम को पंक्ति (पिवट सारणी) मैक ओएस एक्स 10.8 में रेटिना डिस्प्ले (हायपीआई मोड) अनुकरण कैसे करें गैर-रेटिना डिस्प्ले पर माउंटेन शेर? पर्ल प्रतिस्थापन ऑपरेटर के प्रतिस्थापन पक्ष में एक चर का उपयोग कैसे करें?

जावा सबलेट पर एचटीएमएल 5 फाइल अपलोड करें

मेरे सवाल का यह सब कहते हैं मैं फिलहाल अपलोडिफ़ (फ्लैश + अजाक्स) का इस्तेमाल कर रहा हूँ, सफलता के साथ सर्विसलेट (कॉमन्स अपलोड w / OWASP ईएसएपीआई ओवरले) का उपयोग कर रहा हूं, लेकिन मैं सोच रहा था कि मैं एचटीएमएल 5 समर्थन में, या फिर फ्लैश समर्थन के साथ एचटीएमएल 5 के निर्माण के बारे में कैसे जाना होगा।

मुझे पता है कि एचटीएमएल 5 डीएनडी कैसे काम करना है, लेकिन मैं जावा सर्विस कनेक्शन और / या बैकएण्ड के मैकेनिक को काफी समझ नहीं सकता। मैंने बहुत से स्थानों की खोज की है, लेकिन मुझे कोई जवाब नहीं मिल पाया है, इसलिए किसी भी मदद की सराहना की है।

Solutions Collecting From Web of "जावा सबलेट पर एचटीएमएल 5 फाइल अपलोड करें"

मुझे पता है कि एचटीएमएल 5 डीएनडी कैसे काम करना है, लेकिन मैं जावा सर्विस कनेक्शन और / या बैकएण्ड के मैकेनिक को काफी समझ नहीं सकता।

नियमित रूप से <form enctype="multipart/form-data"> का उपयोग करते समय यह अलग नहीं है आपको केवल उस HTML5 / जेएस कोड को multipart/form-data फाइल के साथ multipart/form-data अनुरोध भेजने की ज़रूरत है, ठीक उसी प्रकार का अनुरोध क्योंकि यह नियमित रूप से <input type="file"> साथ भेजा गया होता है। खेत। मुझे लगता है कि आप समझ सकते हैं कि एचटीएमएल 5 / जेएस के साथ वास्तव में कैसे हासिल किया जाए।

आप इस के लिए नए एचटीएमएल 5 File एपीआई, एक्सएचआर 2 FormData और XMLHttpRequestUpload API का उपयोग कर सकते हैं।

यहां बताया गया है कि आपके drop इवेंट हैंडलर को कैसा दिखना चाहिए:

 function dropUpload(event) { event.stopPropagation(); event.preventDefault(); var formData = new FormData(); formData.append("file", event.dataTransfer.files[0]); var xhr = new XMLHttpRequest(); xhr.open("POST", "uploadServlet"); xhr.send(formData); } 

बस। यह उदाहरण मानता है कि सर्वलेट /uploadServlet यूआरएल पैटर्न पर मैप किया गया है। इस उदाहरण में, फ़ाइल तब अपाचे कॉमन्स फाइल में उपलब्ध है फाइल की एक फ़ील्ड नाम के साथ FileItem उदाहरण के रूप में सामान्य तरीके से file


प्रगति की निगरानी के लिए इवेंट हैंडलर्स को संलग्न करने और पसंद करने के लिए, उन्नत ब्लॉगों के लिए निम्नलिखित ब्लॉगों की जांच करें:

  • HTML5 खींचें और ड्रॉप अपलोड और फ़ाइल एपीआई ट्यूटोरियल
  • प्रगति के साथ एचटीएमएल 5 फाइल अपलोड

मैंने इसके आस-पास कुछ हद तक निम्न SSCCE के साथ खेला है:

 <!DOCTYPE html> <html lang="en"> <head> <title>HTML5 drag'n'drop file upload with Servlet</title> <script> window.onload = function() { var dropbox = document.getElementById("dropbox"); dropbox.addEventListener("dragenter", noop, false); dropbox.addEventListener("dragexit", noop, false); dropbox.addEventListener("dragover", noop, false); dropbox.addEventListener("drop", dropUpload, false); } function noop(event) { event.stopPropagation(); event.preventDefault(); } function dropUpload(event) { noop(event); var files = event.dataTransfer.files; for (var i = 0; i < files.length; i++) { upload(files[i]); } } function upload(file) { document.getElementById("status").innerHTML = "Uploading " + file.name; var formData = new FormData(); formData.append("file", file); var xhr = new XMLHttpRequest(); xhr.upload.addEventListener("progress", uploadProgress, false); xhr.addEventListener("load", uploadComplete, false); xhr.open("POST", "uploadServlet", true); // If async=false, then you'll miss progress bar support. xhr.send(formData); } function uploadProgress(event) { // Note: doesn't work with async=false. var progress = Math.round(event.loaded / event.total * 100); document.getElementById("status").innerHTML = "Progress " + progress + "%"; } function uploadComplete(event) { document.getElementById("status").innerHTML = event.target.responseText; } </script> <style> #dropbox { width: 300px; height: 200px; border: 1px solid gray; border-radius: 5px; padding: 5px; color: gray; } </style> </head> <body> <div id="dropbox">Drag and drop a file here...</div> <div id="status"></div> </body> </html> 

और यह UploadServlet नए सर्विस 3.0 का उपयोग कर रहा है। HttpServletRequest#getPart() एपीआई:

 @MultipartConfig @WebServlet("/uploadServlet") public class UploadServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Part file = request.getPart("file"); String filename = getFilename(file); InputStream filecontent = file.getInputStream(); // ... Do your file saving job here. response.setContentType("text/plain"); response.setCharacterEncoding("UTF-8"); response.getWriter().write("File " + filename + " successfully uploaded"); } private static String getFilename(Part part) { for (String cd : part.getHeader("content-disposition").split(";")) { if (cd.trim().startsWith("filename")) { String filename = cd.substring(cd.indexOf('=') + 1).trim().replace("\"", ""); return filename.substring(filename.lastIndexOf('/') + 1).substring(filename.lastIndexOf('\\') + 1); // MSIE fix. } } return null; } } 

यह भी देखें:

  • JSP / Servlet का उपयोग करके सर्वर पर फाइल कैसे अपलोड करें?