दिलचस्प पोस्ट
सी # 3.0 ऑटो-गुण – उपयोगी या नहीं? Ints के लिए अधिकतम और न्यूनतम मान रोबोमोंगो को मोंगोडीबी से कैसे कनेक्ट करें क्लास द्वारा jQuery का गिनती तत्व; इसे लागू करने का सबसे अच्छा तरीका क्या है? वैकल्पिक के लिए उपयोग सी # इंटरफ़ेस विधियों को सार या आभासी क्यों घोषित नहीं किया गया है? तीन। जेएस: स्थिति के रूप में एक ही सदिश का उपयोग करके 2x मेज़ फोन नंबर का प्रतिनिधित्व करने का सही तरीका क्या है? पीआईपी और कंडो के बीच क्या अंतर है? क्यों और कैसे करता है (] + ]) + ]] "आई" के लिए मूल्यांकन करें? कितने क्षेत्रों द्वारा वस्तुओं की एक सरणी को सॉर्ट करने के लिए? वसंत के बीच अंतर @ नियंत्रक और @ आरक्षित नियंत्रक एनोटेशन PHP से कैसे आप .bat फ़ाइल चला सकते हैं? एंड्रॉइड: configChanges = "अभिविन्यास" टुकड़ों के साथ काम नहीं करता है सम्मिलित करने के लिए इष्टतम तरीका / समस्त स्ट्रिंग

सरणी जावास्क्रिप्ट / jquery के लिए इनपुट फ़ाइल

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

HTML:

<input class="file" id="file1" name="uploadedimages[]" type='file' multiple/> 

जावास्क्रिप्ट:

 var upload = document.getElementById('file1'); upload.files.splice(idtoremove,1) //not working 

अपलोड वैरिएबल में मैं एक विशिष्ट आइटम को कैसे हटा सकता हूं? मुझे पता है कि इनपुट टाइप फ़ाइल केवल पढ़ने के लिए है और जब तक आप इसे सरणी में नहीं डालते हैं और एजेक्स के साथ फाइल अपलोड करते हैं

मेरे गैलरी में अपलोड करने के लिए यह कर रही IM पहले मैं कई छवियों का चयन करें तो अपलोड करने से पहले तस्वीरों के लिए पहले एक पूर्वावलोकन होगा। वहाँ एक तस्वीर को हटाने का एक विकल्प भी होगा मेरी समस्या है इनपुट फ़ाइल में मैं उस फोटो फ़ाइल को कैसे हटा सकता हूं तो संभावित समाधान इनपुट फ़ाइल को सरणी में संग्रहित करना है, फिर आप सरणी में जो फोटो चाहते हैं, उसे हटाएं, सरणी के लिए एक फ़ॉर्मेट बनाएं और एजेक्स का उपयोग करके अपलोड करें

वेब के समाधान से एकत्रित समाधान "सरणी जावास्क्रिप्ट / jquery के लिए इनपुट फ़ाइल"

संपादित करें, अपडेट किया गया

अपलोड वैरिएबल में मैं एक विशिष्ट आइटम कैसे हटा सकता हूं?

यदि अपेक्षित परिणाम फ़ाइल ऑब्जेक्ट्स की सरणी है, तो मूल files ऑब्जेक्ट से splicing array आइटम के लिए दृष्टिकोण समायोजित होगा – और अपलोड के रूप में spliced ​​array को भेजना – मूल files ऑब्जेक्ट से "डिलीट" आइटम की कोशिश करने और अभी भी मूल files ऑब्जेक्ट अपलोड करने के बजाय।


FileList ऑब्जेक्ट नहीं है .splice() विधि files को Array कनवर्ट files लिए। .slice() , .slice() का उपयोग करने की कोशिश करें, फिर File ऑब्जेक्ट की सरणी पर .splice() विधि को कॉल करें, उदा।

 // `_files` : `File` object items from original `files` `FileList` // call `.splice()` on items that would be uploaded , // upload `_files` array - _not_ original `files` `FileList` object // eg; `_files`:`File` objects to _keep_ not "delete" from `files` var idstokeep = [0, 2]; // splice , keep first `2` files var _files = Array.prototype.slice.call(files).splice(idstokeep[0], idstokeep[1]); 

देखें कि कैसे array.prototype.slice.call () काम करता है?


वैकल्पिक रूप से, उपयोग करें

आइटम ()

फाइल सूची में निर्दिष्ट सूचकांक में फ़ाइल का प्रतिनिधित्व करने वाला फ़ाइल ऑब्जेक्ट देता है।

फाइल index में विशिष्ट index में फाइलों को वापस करने के लिए

  var files = e.target.files; // return `file` at `index` `1` var firstFile = files.item(1); 

 var upload = document.getElementById("file1"); upload.onchange = function(e) { var files = e.target.files; // https://developer.mozilla.org/en-US/docs/Web/API/FileList#item var firstFile = files.item(1); var idstokeep = [0, 2]; // keep first `2` files from `multiple` selection var _files = Array.prototype.slice.call(files).splice(idstokeep[0], idstokeep[1]); console.log(files, files.length , _files, _files.length , firstFile); }; 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script> <input class="file" id="file1" name="uploadedimages[]" type='file' multiple/> 
 var upload = document.getElementById("file1"); upload.onchange = function(e) { var files = e.target.files; // https://developer.mozilla.org/en-US/docs/Web/API/FileList#item var firstFile = files.item(1); var idstokeep = [0, 2]; // keep first `2` files from `multiple` selection var _files = Array.prototype.slice.call(files).splice(idstokeep[0], idstokeep[1]); console.log(files, files.length , _files, _files.length , firstFile); }; 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script> <input class="file" id="file1" name="uploadedimages[]" type='file' multiple/>