दिलचस्प पोस्ट
एक दृश्य का निर्माण करने के लिए '*' का प्रयोग क्यों करना बुरा है? क्या मैं Django में settings.py से टेम्पलेट्स में स्थिरांक का उपयोग कर सकता हूं? IE10 में स्क्रॉलबार ओवरले, आप इसे कैसे रोकते हैं? अनुपलब्ध कलाकृष्ण कॉम। Microsoft.sqlserver: sqljdbc4: जार: 4.0 मौजूदा कॉलम के लिए एक डिफ़ॉल्ट मान कैसे सेट करें अपलोड करने से पहले फ़ाइल आकार प्राप्त करें कॉलबैक फ़ंक्शन क्या है? कैसे काम करता है इष्ट, स्थिर और स्वस्थ कुंजीशब्द प्रभाव व्यवहार? एक HTML तालिका में कॉलम छिपाएं / दिखाएं MKMapView ज़ूम और क्षेत्र XML / HTML के लिए NSString एनकोड करें जब उपयोगकर्ता बाउंस से बाहर की ओर स्वाइप करने की कोशिश कर रहा है, तो ViewPager पता लगाता है "परतें" और "टायर्स" के बीच अंतर क्या है? NSURL में विशेष वर्ण का उपयोग कैसे करें? जावा में PrintWriter और फ़ाइल वर्गों का उपयोग कैसे करें?

HTML इनपुट = "फ़ाइल" विशेषता फ़ाइल प्रकार स्वीकार करें (CSV)

मैं उम्मीद कर रहा था कि कोई मेरी मदद कर सकता है

मेरे पास मेरे पृष्ठ पर फाइल अपलोड ऑब्जेक्ट है:

<input type="file" ID="fileSelect" /> 

अपने डेस्कटॉप पर निम्नलिखित एक्सेल फाइलों के साथ:

  1. file1.xlsx
  2. file1.xls
  3. file.csv

मैं फ़ाइल को केवल .xlsx , .xls , और .csv फाइलों को दिखाने के लिए अपलोड करना चाहता हूं।

accept विशेषता का उपयोग करके, मैंने पाया कि ये सामग्री-प्रकार .xlsx और .xls एक्सटेंशन का ध्यान रखते हैं …

accept = आवेदन / vnd.openxmlformats- officedocument.spreadsheetml.sheet (.XLSX)

accept = आवेदन / vnd.ms- एक्सेल (.XLS)

हालांकि, मुझे एक Excel CSV फ़ाइल के लिए सही सामग्री प्रकार नहीं मिल सकता है! कोई सुझाव?

उदाहरण: http://jsfiddle.net/LzLcZ/

वेब के समाधान से एकत्रित समाधान "HTML इनपुट = "फ़ाइल" विशेषता फ़ाइल प्रकार स्वीकार करें (CSV)"

अच्छी तरह से यह शर्मनाक है … मैंने पाया कि समाधान मैं ढूंढ रहा था और यह आसान नहीं हो सका। वांछित परिणाम पाने के लिए मैंने निम्नलिखित कोड का इस्तेमाल किया आशा है कि यह भविष्य में किसी को मदद करता है। आपकी मदद के लिए सभी को शुक्रिया।

 <input id="fileSelect" type="file" accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" /> 

मान्य स्वीकार प्रकार:

सीएसवी फाइलें (। सीसीवी) के लिए, उपयोग करें:

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

एक्सेल फाइलों 97-2003 (.xls) के लिए, उपयोग करें:

 <input type="file" accept="application/vnd.ms-excel" /> 

एक्सेल फाइलें 2007+ (.xlsx) के लिए, उपयोग करें:

 <input type="file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" /> 

पाठ फ़ाइलें (.txt) के लिए उपयोग:

 <input type="file" accept="text/plain" /> 

छवि फ़ाइलों के लिए (.png / .jpg / etc), का उपयोग करें:

 <input type="file" accept="image/*" /> 

HTML फ़ाइलें (.htm, .html) के लिए, उपयोग करें:

 <input type="file" accept="text/html" /> 

वीडियो फ़ाइलों के लिए (.avi, .mpg, .mpeg, .mp4), का उपयोग करें:

 <input type="file" accept="video/*" /> 

ऑडियो फ़ाइलें (एमपी 3,। वाव, आदि) के लिए, उपयोग करें:

 <input type="file" accept="audio/*" /> 

पीडीएफ फाइलों के लिए , उपयोग करें:

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

डेमो:
http://jsfiddle.net/dirtyd77/LzLcZ/144/


ध्यान दें:

यदि आप Excel CSV फ़ाइलों ( .csv ) को प्रदर्शित करने का प्रयास कर रहे हैं, तो इसका उपयोग करें:

  • text/csv
  • application/csv
  • text/comma-separated-values ( केवल ओपेरे में काम करता है )

यदि आप किसी विशेष फ़ाइल प्रकार को प्रदर्शित करने की कोशिश कर रहे हैं (उदाहरण के लिए, कोई WAV या PDF ), तो यह लगभग हमेशा काम करेगा …

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

डोम यह विशेषता बहुत पुराना है और जहां तक ​​मुझे पता है आधुनिक ब्राउज़र में स्वीकार नहीं किया गया है, लेकिन यहां इसका एक विकल्प है, यह कोशिश करें

 <script type="text/javascript" language="javascript"> function checkfile(sender) { var validExts = new Array(".xlsx", ".xls", ".csv"); var fileExt = sender.value; fileExt = fileExt.substring(fileExt.lastIndexOf('.')); if (validExts.indexOf(fileExt) < 0) { alert("Invalid file selected, valid files are of " + validExts.toString() + " types."); return false; } else return true; } </script> <input type="file" id="file" onchange="checkfile(this);" /> 

मुझे लगता है कि यह निश्चित रूप से आपकी मदद करेगा कि आप अपनी स्क्रिप्ट को अपनी आवश्यकताओं के अनुसार बदल सकते हैं।

मैंने सीएसवी एमएमएम-टाइप के लिए text/comma-separated-values प्रयोग किया है और यह ऑपेरा में ठीक काम करता है। भाग्य के बिना text/csv कोशिश की।

कुछ अन्य MIME- प्रकार CSV के लिए यदि सुझाए गए काम नहीं करते हैं:

  • पाठ / अल्पविराम से अलग मान
  • पाठ / सीएसवी
  • आवेदन / सीएसवी
  • आवेदन / एक्सेल
  • आवेदन / vnd.ms-एक्सेल
  • आवेदन / vnd.msexcel
  • पाठ / anytext

स्रोत: http://filext.com/file-extension/CSV

इन दिनों आप केवल फ़ाइल एक्सटेंशन का उपयोग कर सकते हैं

 <input type="file" ID="fileSelect" accept=".xlsx, .xls, .csv"/> 

आप निम्न में से किसी भी फ़ाइल के लिए सही सामग्री प्रकार जान सकते हैं:

1) दिलचस्पी फाइल चुनें,

2) और इसे कंसोल में चलाएं:

 console.log($('.file-input')[0].files[0].type); 

आप एक समय में कई फ़ाइलों के लिए सामग्री प्रकार की जांच करने के लिए अपने इनपुट के लिए विशेषता "एकाधिक" भी सेट कर सकते हैं और आगे कर सकते हैं:

 for (var i = 0; i < $('.file-input')[0].files.length; i++){ console.log($('.file-input')[0].files[i].type); } 

एट्रिब्यूट स्वीकार करते हैं जिसमें कई विशेषताएँ होती हैं और इस मामले में ठीक से काम नहीं करती हैं।

यह सफारी 10 के तहत मेरे लिए काम नहीं कर रहा था:

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

इसके बजाय मुझे इसे लिखना पड़ा:

 <input type="file" accept="text/csv" /> 

मैंने @ योगी के समाधान को संशोधित किया है इसके अतिरिक्त यह है कि जब फ़ाइल गलत स्वरूप से है I इनपुट तत्व मूल्य को रीसेट करता है।

 function checkFile(sender, validExts) { var fileExt = sender.value; fileExt = fileExt.substring(fileExt.lastIndexOf('.')); if (validExts.indexOf(fileExt) < 0 && fileExt != "") { alert("Invalid file selected, valid files are of " + validExts.toString() + " types."); $(sender).val(""); return false; } else return true; } 

मेरे पास कस्टम सत्यापन बिल्डिन है, क्योंकि खुली फ़ाइल विंडो में उपयोगकर्ता अभी भी "सभी फाइलें ('*')" विकल्प चुन सकता है, भले ही मैंने स्पष्ट रूप से इनपुट तत्व में स्वीकार्यता को सेट कर दिया हो।

अब आप नए html5 इनपुट सत्यापन विशेषता pattern=".+\.(xlsx|xls|csv)" उपयोग कर सकते हैं pattern=".+\.(xlsx|xls|csv)"

regex का उपयोग करना जल्दी होगा

  function checkIsExcel(file) { if ((!/.*\.xlsx$/.test(file.name)) && (!/.*\.xls$/.test(file.name)) && (!/.*\.csv$/.test(file.name))) { return false; } return true; }