2011-04-12 11 views
7

मेरे पास input प्रकार "file" है, और मैं इसकी files सूची बदलना चाहता हूं। उदाहरण:फ़ाइल इनपुट की फ़ाइललिस्ट को कैसे बदलें

<input type = "file" id = "fileinput" /> 
<script type = "text/javascript> 
    document.getElementById("fileinput").files = [10]; 
</script> 

समस्या यह है कि fileinput तत्व के files सूची सेट नहीं किया जाता है। मैं यह कैसे करुं?

+0

आप नहीं कर सकते। यह केवल स्पष्ट सुरक्षा कारणों के लिए पढ़ा जाता है। –

+0

मुझे लगता है, तो मैं इसे एकाधिक क्लिक के साथ एकाधिक फ़ाइलों को अपलोड करने की अनुमति नहीं दे सकता? – dave

+0

@ डेव एचटीएमएल 5 फाइलों के एकाधिक चयन की अनुमति देता है लेकिन आप अभी भी यह तय नहीं कर सकते कि वे फाइलें क्या होंगी। –

उत्तर

14

सुरक्षा कारणों से, ब्राउज़र जावास्क्रिप्ट को उन फ़ाइलों को बदलने से रोकते हैं जो अपलोड किए जाएंगे: केवल उपयोगकर्ता उपयोगकर्ता इंटरफ़ेस के माध्यम से फ़ाइलों का चयन कर सकते हैं। यह एक बुरा स्क्रिप्ट को /etc/passwd अपलोड करने के लिए, उदाहरण के लिए, उपयोगकर्ता को जानने के बिना रोकने के लिए है।

एक अपवाद यह है कि फ़ॉर्म पर "रीसेट" को कॉल करने से फ़ाइल या फ़ाइलसूची साफ़ हो जाएगी, लेकिन आप प्रोग्रामेटिक रूप से कभी भी जोड़ नहीं सकते हैं।

+4

तो मैं कई बार क्लिक करते समय फ़ाइल इनपुट की फ़ाइललिस्ट में और फ़ाइलें कैसे जोड़ूं? – dave

+0

@odrm आप स्थानीय * वास्तविक * फाइलों को फ़ाइल सूची में नहीं जोड़ सकते हैं, लेकिन 'फ़ाइल' या' ब्लॉब 'जोड़ने में कुछ भी गलत नहीं है। मैं एक उपयोगकर्तास्क्रिप्ट की कल्पना कर सकता हूं जो ऐसा करेगा और सहायक होगा। –

+0

@ टॉमस ज़ेटो मुझे नहीं लगता कि आप कर सकते हैं, क्योंकि ब्राउजर फ़ाइल की उत्पत्ति को कैसे जानता है, अगर यह उपयोगकर्ता से प्रोग्रामेटिक रूप से बनाया या चोरी हो गया है? – atas

-1

input तत्व पर multiple विशेषता का उपयोग कर आप क्या चाहते हैं। इस तरह, नए ब्राउज़र में उपयोगकर्ता अपलोड करने के लिए कई फाइलों का चयन करने में सक्षम होंगे।

संबंधित मुद्दे