दिलचस्प पोस्ट
कैसे iPhone यूआईएलबल में कर्निंग को सेट करें पौराणिक कथा के साथ मटप्ललिब स्कैटरप्लॉट जावास्क्रिप्ट में चलने वाले चर का एक उदाहरण प्रोटोटाइप .constructor.apply पर कॉल करके एक जावास्क्रिप्ट ऑब्जेक्ट को इंस्टानियेट करना आप उद्देश्य- c में एक फ़ाइल MIME- प्रकार कैसे पढ़ सकते हैं गेस्ट से मेजबान के लिए वर्चुअलबॉक्स "पोर्ट अग्रेषित" किसी ObjectOutputStream को जोड़ना जेडीबीसी बैच डालने के प्रदर्शन नाकआउट के बीच अंतर ऑब्जेक्ट literals बनाम फ़ंक्शन के रूप में घोषित मॉडल देखें virtualenv के बजाय वैश्विक साइट-पैकेज में स्थापित करना कैसे जावा में nullable आदिम प्रकार int प्रस्तुत करने के लिए? उपलब्ध सिस्टम मेमोरी का आकार कैसे प्राप्त करें? विकल्प (RECOMPILE) हमेशा तेज़ है; क्यूं कर? Asp.net mvc में एक सामान्य नियंत्रक बनाने के लिए संभव है? स्थानीयहोस्ट बनाम 127.0.0.1

एचटीएमएल 5 फाइल इनपुट में चयन करने के लिए फाइलों की अधिकतम संख्या क्या है?

मेरे पास 64000 छोटे चित्र हैं जो मैं अपनी वेबसाइट पर अपलोड करना चाहते हैं (मौजूदा सत्यापन का प्रयोग करके, कोई एफ़टीपी आदि नहीं)। मैंने एक एचटीएमएल 5 [कई] टाइप = फ़ाइल इनपुट को एक सौ या सैकड़ों छवियों के लिए इस्तेमाल किया है। सैकड़ों कोई समस्या नहीं है छवियों बैकअप और सर्वर पर भेजा जाता है।

लेकिन जब मैं ~ 16000 छवियों का एक फ़ोल्डर चुनता हूं, तो फ़ाइल इनपुट का फ़ाइललिस्ट रिक्त है … ऑनchange ईवेंट ट्रिगर होता है, लेकिन फ़ाइल सूची रिक्त है ब्राउज़र (या फाइल सिस्टम या ओएस?) को इस फाइल को चुनने में समस्या हो सकती है।

अधिकतम निर्धारित किया जा सकता है कि मैं यह तय करने में मदद करने के लिए एक बहुत छोटा उपकरण बनाया है: http://jsfiddle.net/rudiedirkx/Ehhk5/1/show/

$inp.onchange = function(e) { var l = 0, b = 0; for (var i=0, F=this.files, L=F.length; i<L; i++) { l += F[i].name.length; b += F[i].size; } $nf.innerHTML += this.files.length + ' files: ' + (b/1000/1000) + ' MB / ' + l + ' chars of filename<br>'; }; 

यह सब होता है:

  • फ़ाइलों की संख्या
  • अक्षरों की संख्या सभी फाइल नाम संयुक्त हैं
  • कुल फ़ाइल आकार के एमबी की संख्या

जब मैं यह कोशिश करता हूं, तो मुझे बहुत अधिक मिलता है:

1272 फाइलें: फ़ाइल नाम के 176.053987 एमबी / 31469 वर्ण

(32 और 64 बिट Win7 पर, क्रोम 26-52)

अगली छवि (जो असफल हो) होगी:

  • 1273 छवियां, जो एक स्पष्ट कट-ऑफ नहीं है
  • 176 और 177 एमबी फाइल्स सिस्ट के बीच, एक स्पष्ट कटाई भी नहीं
  • 32,000 से कम फ़ाइल नामों का अक्षर भी एक स्पष्ट कट ऑफ नहीं है, हालांकि यह क्रम-तरह 32k जैसा दिखता है …

मेरे कैल्श में, 1 एमबी = 1000 ^ 2 बाइट्स, नहीं 1024 ^ 2 (यह एक MiB होगा, लेकिन हो सकता है कि मेरे ओएस / फाइलसिस्टम / ब्राउज़र असहमत हों।)

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

अधिक परीक्षा परिणाम:

  • फ़ायरफ़ॉक्स में मैक्स बहुत ज्यादा लगता है। कम से कम "2343 फाइलें: 310.66553999999996 एमबी / 60748 फाइल नाम के वर्ण" (ये सभी फाइलें हैं जो मुझे यहां सही हैं)
  • फ़ायरफ़ॉक्स में भी: "16686 फाइलें: 55.144415 MB / 146224 फाइल नाम के वर्ण" (बहुत छोटी, लेकिन अधिक फ़ाइलें)

अद्यतन करें

  • क्रोम 52 कैनरी विंडोज अब भी फाइल का नाम 32k है
  • फ़ायरफ़ॉक्स (44+) विंडोज अभी भी असीमित है

Solutions Collecting From Web of "एचटीएमएल 5 फाइल इनपुट में चयन करने के लिए फाइलों की अधिकतम संख्या क्या है?"

क्यों यह कई फाइलें?

फ़ाइलों की संख्या सभी फाइल नामों के जोड़ों की संख्या पर निर्भर करती है।

क्यों यह अधिकतम?

विंडोज एपीआई में, अधिकतम पथ लंबाई सीमा 256 वर्ण है, यूनिकोड संस्करण एपीआई 32,767 वर्ण है।

क्रोम बस यूनिकोड संस्करण एपीआई की अधिकतम पथ लंबाई निर्धारित करता है, इसलिए आपके द्वारा देखे गए अनुसार यह लगभग 32k अक्षर है
यह तय करें: https://code.google.com/p/chromium/issues/detail?id=44068

फ़ायरफ़ॉक्स गतिशील रूप से कई चुनिंदा फाइलों के आकार को पकड़ने के लिए काफी बड़ा बफर आवंटित करता है, जो कि बहुत बड़ी पथ लंबाई को संभाल सकता है।
इस फ़िक्स को देखें: https://bugzilla.mozilla.org/show_bug.cgi?id=660833

क्या यह ओएस निर्भर या ब्राउज़र निर्भर है?

दोनों।

मैं उस के लिए चश्मा कहां देखूं?

Windows एपीआई उपयोग और संदर्भ के लिए:
http://msdn.microsoft.com/en-us/library/aa365247.aspx (अधिकतम पथ की लंबाई सीमा)
http://msdn.microsoft.com/en-us/library/ms646839(VS.85).aspx

क्या यह जेएस गलती है?

नहीं।