दिलचस्प पोस्ट
'ज़ोरदार' जावास्क्रिप्ट चर % Dopar% का उपयोग करते समय मैं कैसे मुद्रित कर सकता हूं पायथन में कुंजी-आदेश दिया गया शब्द UITextView के अंदर UIScrollView AutoLayout के साथ बिना एक्सपेच लूप के आईईएनमेमेरेबल का उपयोग करना Cv :: warp निष्पादित सीवी :: प्वाइंट के एक सेट पर एक फर्जी डेस्किंग के लिए विंडोज फॉर्म के लिए यूआई डिज़ाइन पैटर्न (जैसे एमपीवीएम के लिए एमवीवीएम) क्यों कंपाइलरों स्ट्रिंग literals const करने के लिए अनुमति नहीं है const? कैसे जावास्क्रिप्ट में एक ध्वनि preload करने के लिए? वर्तमान विंडोज़ प्रयोक्ता के नाम को सिल्वरलाइट में प्राप्त करें JInternalFrame और कुछ बटन का उपयोग करना मैं PHP को कैसे निष्पादित कर सकता हूं जिसे MySQL डाटाबेस में संग्रहीत किया जाता है? विंडोज 7 पर पायथन पथ जोड़ना एक चर परिभाषित किया गया है की जाँच कर रहा है? कस्टम आईफोन कीबोर्ड

याद रखें और फ़ाइल इनपुट को फिर से बदलना

ध्यान दें:

नीचे दिए गए उत्तर 200 9 में विरासत वाले ब्राउज़रों की स्थिति को प्रतिबिंबित करते हैं। अब आप वास्तव में 2017 में जावास्क्रिप्ट के माध्यम से फ़ाइल इनपुट तत्व का मान सेट कर सकते हैं।

विवरण के साथ-साथ डेमो के लिए इस सवाल का जवाब देखें:
फ़ाइल इनपुट वैल्यू को प्रोग्रामैटिक रूप से कैसे सेट करें (यानी: ड्रैग-ड्रॉपिंग फाइलें)?

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

मैं कैसे जानना चाहता हूं कि उपयोगकर्ता को एक फ़ाइल का चयन करने के बाद मैं उनकी पसंद को याद रखूंगा और फ़ाइल इनपुट को पुनः लोड कर दूंगा जो पहले से चयनित पृष्ठ के पुनः लोड पर चुना गया था। मुझे केवल यह जानने की जरूरत है कि एक फ़ाइल इनपुट को कैसे याद रखना और पुन: लागू करना है।

मैं उन दृष्टिकोणों के लिए भी खुला हूं जो एक फ़ाइल इनपुट का उपयोग नहीं करते हैं (यदि संभव है)

मैं JQuery का उपयोग कर रहा हूँ

Solutions Collecting From Web of "याद रखें और फ़ाइल इनपुट को फिर से बदलना"

अपने फॉर्म पर इनपुट फ़ील्ड बनाएं जब उपयोगकर्ता कोई फ़ाइल चुनता है, परिणाम को इस फ़ील्ड में कॉपी करें, जैसे कुछ:

 jQuery('#inFile').change( function(){ jQuery('#inCopy').val( jQuery('#inFile').val() ); } ); 

दरअसल, परिणाम बिल्कुल प्रतिलिपि नहीं हुआ है, इसके बदले यह "सी: / नकलीपथ / SELECTED_FILE_NAME" की प्रतिलिपि बनाता है जब आप किसी फ़ाइल इनपुट के मूल्य को सेट करने की अनुमति नहीं देते हैं, तो आप "C: / fakepath /" के बिना, पाठ इनपुट फ़ील्ड का मान सेट कर सकते हैं, क्योंकि सर्वर फ़ॉर्म को तैयार करता है।

अब, जब सर्वर को वापस फॉर्म मिलता है, पाठ इनपुट फ़ील्ड की जांच करें। यदि यह "सी: / नकलीपथ /" के साथ शुरू होता है तो उपयोगकर्ता ने एक नई फ़ाइल चुननी होगी, इसलिए उनका नया चयन अपलोड करें। यदि ऐसा नहीं होता है, तो उपयोगकर्ता ने पिछले चयन का विकल्प चुना है, जो कि मूल समस्या के अनुसार, एक समस्या नहीं होनी चाहिए, पिछली चुनाव पहले अपलोड किया गया है और (कम से कम उपयुक्त प्रोग्रामिंग के साथ, यह अभी भी हो सकता है) अभी भी हो सकता है सर्वर पर

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

मेरा ले-होम संदेश है,

  1. फ़ाइल इनपुट एक-एकमात्र-सड़क प्रदान करता है यह आपके अगले अपलोड को संभालने के लिए इंतजार कर रहा है। यह सब होता है, बहुत ज्यादा यह प्राप्त करता है
  2. आपकी फ़ाइल इनपुट के लिए लेबल के पास एक डिवा या केवल-पढ़ने वाला टेक्स्ट फ़ॉर्म इनपुट, सेवा प्रदान कर सकता है। यानी यह यूजर को बताने के लिए इस्तेमाल किया जा सकता है, "वर्तमान में जो अपलोड किया गया है वह है:" – प्रदर्शित करने के लिए फ़ाइल का नाम आपके सर्वर-साइड लॉजिक से आना होगा।

तो एक मूल उपयोग का मामला होगा:

  • वेब पेज पर फॉर्म इनपुट के जरिए उपयोगकर्ता अपलोड करता है
  • सर्वर साइड लॉजिक फ़ाइल को संग्रहीत करता है
  • एक अजाक्स चक्र में या एक वेब पेज सर्वर-साइड कोड को पुनः लोड करता है, div में लिखने के लिए एक फ़ाइल नाम की पहचान करता है, "वर्तमान में अपलोड किया गया है"
  • फ़ाइल इनपुट को फिर से प्रस्तुत किया जा सकता है, ताकि उपयोगकर्ता को दूसरी फ़ाइल को / के बजाय अपलोड करने के लिए स्वागत है।

आपको "आवश्यक" सत्यापन को संभालने के लिए कुछ और काम करना पड़ सकता है लेकिन यह एक और कहानी है

यदि आप वास्तव में चाहते हैं कि सभी फाइल डेटा के लिए एक अस्थायी दृढ़ रहें हैं, जैसे कि पृष्ठ पर कोई त्रुटि है या यदि आप डेटाबेस से डेटा जमा करने से पहले एक पुष्टिकरण पृष्ठ चाहते हैं, तो यह सामान्यतः फ़ाइलें कहीं अस्थायी और छिपे हुए क्षेत्रों में डेटा रखते हुए

यह फ़ाइल इनपुट फ़ील्ड को फिर से नहीं बढ़ाता है लेकिन आप इनपुट फ़ाइल का नाम भी ले सकते हैं और इसे फ़ाइल इनपुट बॉक्स के आगे रख सकते हैं।

इस तरह:

 <input type=hidden name="filename" value="<?php echo $filename; ?>" /> <input type="file" name="uploadfile" size="50" /> <?php if (!empty($filename)) echo $filename; ?>