HTML Giriş = "fayl" Təsvir fayl növü (CSV) qəbul et

Sayfamda bir fayl yükleme obyekti var:

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

masaüstümdeki aşağıdakı Excel faylları ilə:

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

Faylları yalnız .xlsx , .xls.csv fayllarını göstərmək üçün yükləmək istəyirəm.

Accept xüsusiyyətindən istifadə edərək, bu məzmun növlərinin .xlsx.xls uzantıları ilə maraqlandığını aşkar etdim ...

accept = application / vnd.openxmlformats-officedocument.spreadsheetml.s (.XLSX)

accept = application /vnd.ms-Excel (.XLS)

Ancaq bir Excel CSV faylı üçün doğru məzmunu tapa bilmirəm! Hər hansı bir təklif?

ÖRNEK: http://jsfiddle.net/LzLcZ/

360
06 авг. Dom , 06 avqustda qoyulur . 2012-08-06 20:18 '12 at 8:18 pm 2012-08-06 20:18
@ 9 cavab

Bəli, qarışır ... Mən aradım həll tapdım və asan olmaya bilmədi. Istədiyiniz nəticə əldə etmək üçün aşağıdakı kodu istifadə etdim. Bu gələcəkdə kimsə kömək edir. Bütün köməyiniz üçün təşəkkür edirik.

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

Təsdiq Qəbul növləri:

CSV (.csv) faylları üçün istifadə edin:

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

Excel 97-2003 faylları (.xls) üçün istifadə edin:

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

Excel 2007 + (.xlsx) faylları üçün istifadə edin:

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

Mətn faylları (.txt) istifadə etmək üçün:

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

Şəkil faylları üçün (.png / .jpg / etc) istifadə edin:

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

HTML faylları üçün (.htm, .html) istifadə edin:

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

Video faylları (.avi, .mpg, .mpeg, .mp4) istifadə etmək üçün:

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

Audio faylları (.mp3, .wav və s.) Üçün istifadə edin:

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

PDF faylları üçün:

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

DEMO:
http://jsfiddle.net/dirtyd77/LzLcZ/144/


Qeyd:

Excel Excel CSV fayllarını ( .csv ) göstərməyə .csv , NOT :

  • text/csv
  • application/csv
  • text/comma-separated-values (yalnız Opera-da işləyir).

Belirli bir fayl növü (məsələn, WAV və ya PDF ) göstərməyə çalışırsınızsa, demək olar ki, həmişə işləyəcək ...

  <input type="file" accept=".FILETYPE" /> 
950
06 авг. cavab Dom 06 avqustda verilir . 2012-08-06 22:45 '12 saat 22:45 'da 2012-08-06 22:45

Bu gün sadəcə fayl uzantısını istifadə edə bilərsiniz

border=0
 <input type="file" ID="fileSelect" accept=".xlsx, .xls, .csv"/> 
69
19 сент. Cavab 19 Sentyabrda Big Money tərəfindən verilir. 2017-09-19 23:21 '17 də 11:21 'də 2017-09-19 23:21' də

Dom bu xüsusiyyət çox qədimdir və bildiyimə görə, müasir brauzerlərdə qəbul edilmir, amma bunun alternativi var, cəhd edin.

 <script type="text/javascript" > 

Hesab edirəm ki, bu sizə kömək edəcəkdir, əlbəttə, bu scripti sizin ehtiyaclarınıza uyğun olaraq dəyişə bilərsiniz.

33
06 авг. cavab yogi 06 aug verilir . 2012-08-06 20:54 '12 at 8:54 pm 2012-08-06 20:54

CSV mime-tipi üçün qəbul xüsusiyyətində text/comma-separated-values istifadə etdim və Opera'da gözəl işləyir. Şanssız text/csv .

CSV üçün digər MIME növləri, təklif edilənlər işləməsə:

  • virgülle ayrılmış mətn / dəyərlər
  • mətn / csv
  • app / csv
  • tətbiqi / excel
  • tətbiq / vnd.ms-excel
  • tətbiqi / vnd.msexcel
  • Mətn / hər hansı bir mətn

Mənbə: http://filext.com/file-extension/CSV

8
05 марта '13 в 23:16 2013-03-05 23:16 Cavab caysponsored mart 05 '13 da 23:16 2013-03-05 23:16 tərəfindən verilir

Safari 10-da bu mənim üçün çalışmadı:

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

Bunu əvəzinə yazmalıyam:

 <input type="file" accept="text/csv" /> 
6
04 апр. cavab trojan 04 apr verilir . 2017-04-04 11:01 '17 saat 11:01 'də 2017-04-04 11:01' də

Aşağıdakı addımları sadəcə olaraq hər hansı bir fayl üçün düzgün məzmun növü tapa bilərsiniz:

1) Faiz faylını seçin,

2) Və konsolu çalıştırın:

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

Bir neçə faylın məzmun növünü birbaşa yoxlamaq və daxil etmək üçün girişiniz üçün "çoxlu" atributu da təyin edə bilərsiniz:

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

Öznitelik özniteliğinde bir neçə atributla bağlı bəzi problemlər var və bu halda düzgün işləmir.

3
19 сент. Cavab 19 sentyabr tiryək verilir 2014-09-19 06:58 '14 saat 06:58 2014-09-19 06:58

@Yogi həllini dəyişdim. Ayrıca, fayl səhv formatda olduğunda mən giriş elementinin dəyərini sıfırlayıram.

 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; } 

Xüsusi bir doğrulamam var, çünki açılan fayl penceresinde, istifadəçi, giriş elemanında kabul özniteliğini açıkça belirleyip almadığımdan bağımsız olaraq, "Bütün fayllar (" * ")" seçeneğini seçə bilər.

1
10 авг. RenatoIvancic tərəfindən verilmiş cavab 10 Avqust. 2014-08-10 19:35 '14 at 19:35 2014-08-10 19:35

İndi yeni giriş doğrulama xüsusiyyətindən istifadə edə bilərsiniz pattern=".+\.(xlsx|xls|csv)" .

0
06 нояб. cavab 06 noyabr. 2013-11-06 16:45 '13 saat 16:45 'da 2013-11-06 16:45

Normal bir ifadə istifadə edərək daha sürətli olacaq

  function checkIsExcel(file) { if ((!/.*\.xlsx$/.test(file.name))  (!/.*\.xls$/.test(file.name))  (!/.*\.csv$/.test(file.name))) { return false; } return true; } 
-1
27 июля '17 в 6:18 2017-07-27 06:18 Cavab 27 iyul 17: 00 -da saat 6: 18-də 2017-07-27 06:18 pimkle verilir

bağlı digər suallar və ya sual