दिलचस्प पोस्ट
मैं एएसपी.नेट एमवीसी में एसिंक कंट्रोलर्स का उपयोग कब करना चाहिए? क्या हम सुंदरसूप के साथ एक्सपैथ का उपयोग कर सकते हैं? Layout_weight विशेषता को गतिशील रूप से कोड से कैसे सेट करें? ऑब्जेक्ट एक न सहेजा क्षणिक उदाहरण का संदर्भ देता है – फ्लशिंग से पहले क्षणिक उदाहरण बचाएं 'Setdefault' dict विधि के लिए मामलों का उपयोग करें Xcode बिल्ड विकल्पों का प्रभाव "बिटोड सक्षम करें" हाँ / नहीं क्या आईओएस 9 पर मल्टीटास्किंग से आपके आईपैड ऐप का चयन करना संभव है तत्व की आईडी प्राप्त करना जो एक घटना को निकाल दिया यह किस प्रकार की स्ट्रिंग है? मैं इस स्ट्रिंग को अनसारील कैसे कर सकता हूं? कैसे निर्धारित करें कि एक सरणी में अन्य तत्वों के सभी तत्व शामिल हैं GlReadPixels () से OpenCV :: Mat का डेटा परिवर्तित करना मैं C ++ में स्ट्रिंग को कैसे दोहरा सकता हूं? निर्दिष्ट अवधि में लॉग फाइल से डेटा निकालने साझा किए गए संदर्भों का उपयोग कैसे करें Model.find ()। ToArray () दावा नहीं करने के लिए .toArray () विधि

लेबल फ़ाइल अपलोड बटन

मैं फाइल पिकर के बटन पाठ को कैसे अंतरराष्ट्रीय कर सकता हूं? उदाहरण के लिए, यह कोड उपयोगकर्ता को प्रस्तुत करता है:

<input type="file" .../> 

Solutions Collecting From Web of "लेबल फ़ाइल अपलोड बटन"

यह आम तौर पर ब्राउज़र द्वारा प्रदान किया जाता है और बदलना कठिन है, इसलिए इसके आस-पास एकमात्र तरीका एक सीएसएस / जावास्क्रिप्ट हैक होगा,

कुछ तरीकों के लिए निम्नलिखित लिंक देखें:

आप अपने बटन के लिए अपने ब्राउज़र की भाषा प्राप्त करते हैं प्रोग्राममैटिक रूप से इसे बदलने का कोई तरीका नहीं है

एक कदम पीछे लेना! सबसे पहले, आप मानते हैं कि उपयोगकर्ता अपने डिवाइस पर एक विदेशी लोकेल का उपयोग कर रहा है, जो फ़ाइल पिकर के बटन पाठ को लेने के लिए न्यायसंगत नहीं है और यह कहता है कि आप इसे क्या चाहते हैं

यह उचित है कि आप अपने पृष्ठ पर दिखाई देने वाली भाषा के प्रत्येक आइटम को नियंत्रित करना चाहते हैं। फ़ाइल अपलोड नियंत्रण की सामग्री हालांकि एचटीएमएल का हिस्सा नहीं है। इस कंट्रोल के पीछे अधिक सामग्री है, उदाहरण के लिए, वेबकिट में, यह "बटन के बगल में कोई फ़ाइल नहीं" भी कहता है

यह बहुत ही हैमी कार्यवाही हैं जो इसका प्रयास करते हैं (जैसे कि क्रिस्टोफ़ेड के उत्तर में उल्लेखित), लेकिन उनमें से कोई भी वास्तव में सफल नहीं है।

  • स्क्रीन रीडर के लिए, फ़ाइल नियंत्रण अभी भी "ब्राउज़ करें" या "फ़ाइल चुनें" कहेंगे, और एक कस्टम फ़ाइल अपलोड फ़ाइल अपलोड नियंत्रण के रूप में घोषित नहीं किया जाएगा, लेकिन केवल एक बटन या पाठ इनपुट
  • उनमें से बहुत से चुना फ़ाइल प्रदर्शित करने में विफल या यह दिखाने के लिए कि उपयोगकर्ता अब फाइल को नहीं चुना है
  • उनमें से बहुत से देशी नियंत्रण की तरह कुछ नहीं दिखता है, इसलिए गैर-मानक उपकरणों पर अजीब लग सकता है
  • कुंजीपटल समर्थन आम तौर पर खराब है
  • एक लेखक द्वारा बनाए गए यूआई घटक अपने मूल समकक्ष (और जितना करीब आप इसे विंडोज 7 पर IE10 समझने के लिए मिलते हैं, उतना ही अन्य ब्राउज़र और ऑपरेटिंग सिस्टम संयोजनों से भटक जाएगा) के रूप में पूर्णतः कार्यात्मक नहीं हो सकते हैं।
  • आधुनिक ब्राउज़रों का समर्थन खींचें और मूल फ़ाइल अपलोड नियंत्रण में ड्रॉप करें।
  • कुछ तकनीकों को सुरक्षा सॉफ्टवेयर में हेरविस्टिक्स को एक संभावित 'क्लिक-जैकिंग' प्रयास के रूप में अपलोड करने में उपयोगकर्ता को चालान करने का प्रयास किया जा सकता है।

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

हालाँकि, एक भी बड़ा कारण है कि प्रयोक्ता अनुभव परिप्रेक्ष्य से सभी प्रयास विफल हो जाते हैं: इस नियंत्रण के पीछे और अधिक गैर-स्थानीयकृत सामग्री भी है, फाइल चयन संवाद स्वयं। एक बार जब उपयोगकर्ता अपनी फाइल सिस्टम को पार करने या अपलोड करने के लिए फ़ाइल का चयन न करने के अधीन है, तो उन्हें होस्ट ऑपरेटिंग सिस्टम लोकेल के अधीन किया जाएगा।

क्या आप निश्चित रूप से मूल नियंत्रण से विचलित करके अपने उपयोगकर्ता को कोई न्याय कर रहे हैं, बस टेक्स्ट को स्थानीयकृत करने के लिए, जैसे ही वे इसे क्लिक करते हैं, वे वैसे भी ऑपरेटिंग सिस्टम लोकेल प्राप्त करने जा रहे हैं?

आप अपने उपयोगकर्ताओं के लिए सबसे अच्छा कर सकते हैं यह सुनिश्चित करना है कि आपके फ़ाइल इनपुट नियंत्रण के आसपास आपके पास पर्याप्त स्थानीयकृत मार्गदर्शन है। (जैसे फॉर्म फ़ील्ड लेबल, इशारा पाठ, टूलटिप पाठ)

माफ़ कीजिये। 🙁

यह जवाब उन लोगों के लिए है जो फाइल अपलोड नियंत्रण को स्थानीयकरण करने के लिए किसी भी औचित्य की तलाश में हैं।

शुद्ध सीएसएस समाधान:

 .inputfile { /* visibility: hidden etc. wont work */ width: 0.1px; height: 0.1px; opacity: 0; overflow: hidden; position: absolute; z-index: -1; } .inputfile:focus + label { /* keyboard navigation */ outline: 1px dotted #000; outline: -webkit-focus-ring-color auto 5px; } .inputfile + label * { pointer-events: none; } 
 <input type="file" name="file" id="file" class="inputfile" /> <label for="file">Choose a file (Click me)</label> 

मैं निम्नलिखित कोड के साथ jQueryMobile का उपयोग कर एक बटन प्राप्त कर सकता हूं:

 <label for="ppt" data-role="button" data-inline="true" data-mini="true" data-corners="false">Upload</label> <input id="ppt" type="file" name="ppt" multiple data-role="button" data-inline="true" data-mini="true" data-corners="false" style="opacity: 0;"/> 

ऊपर कोड "अपलोड" बटन (कस्टम टेक्स्ट) बनाता है। अपलोड बटन पर क्लिक करने पर, ब्राउज़ ब्राउज़ किया जाता है। क्रोम 25 और आईई 9 के साथ परीक्षण किया गया

एक कस्टम "ब्राउज़ बटन" समाधान बनाने के लिए बस एक छिपी ब्राउज़ बटन, एक कस्टम बटन या तत्व और कुछ जेक्वीरी बनाने का प्रयास करें। इस तरह से मैं वास्तविक "ब्राउज़ बटन" को संशोधित नहीं कर रहा हूं जो प्रत्येक ब्राउज़र / संस्करण पर निर्भर है। यहाँ एक उदाहरण है

HTML:

 <div id="import" type="file">My Custom Button</div> <input id="browser" class="hideMe" type="file"></input> 

सीएसएस:

 #import { margin: 0em 0em 0em .2em; content: 'Import Settings'; display: inline-block; border: 1px solid; border-color: #ddd #bbb #999; border-radius: 3px; padding: 5px 8px; outline: none; white-space: nowrap; -webkit-user-select: none; cursor: pointer; font-weight: 700; font: bold 12px/1.2 Arial,sans-serif !important; /* fallback */ background-color: #f9f9f9; /* Safari 4-5, Chrome 1-9 */ background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#C2C1C1), to(#2F2727)); } .hideMe{ display: none; } 

जे एस:

 $("#import").click(function() { $("#browser").trigger("click"); $('#browser').change(function() { alert($("#browser").val()); }); }); 

बहुत आसान उपयोग यह

 <input type="button" id="loadFileXml" value="Custom Button Name"onclick="document.getElementById('file').click();" /> <input type="file" style="display:none;" id="file" name="file"/>