Sayfamda bir dosya yükleme nesnesi var:
<input type="file" ID="fileSelect" />
masaüstümde aşağıdaki excel dosyaları ile:
- file1.xlsx
- file1.xls
- file.csv
Dosya yüklemenin SADECE .xlsx
, .xls
, & .csv
dosyalarını göstermesini istiyorum.
Kabul etniteliğini kullanarak, bu içerik türlerinin
.xlsx&
.xls` uzantılarıyla ilgilendiğini gördüm...
accept
= application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (.XLSX)
accept
= application/vnd.ms-excel (.XLS)
Ancak, bir Excel CSV dosyası için doğru içerik türünü bulamıyorum! Herhangi bir öneriniz var mı?
ÖRNEK: <
>Bu utanç verici. Aradığım çözümü buldum ve daha basit olamazdı. İstediğim sonucu elde etmek için aşağıdaki kodu kullandım. Umarım bu gelecekte birilerine yardımcı olur. Yardımlarınız için herkese teşekkürler.
<input id="fileSelect" type="file" accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" />
CSV** dosyaları (.csv) için şunu kullanın:
<input type="file" accept=".csv" />
97-2003 (.xls) Excel Dosyaları için şunu kullanın:
<input type="file" accept="application/vnd.ms-excel" />
Excel Dosyaları 2007+** (.xlsx) için şunu kullanın:
<input type="file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
Metin Dosyaları** (.txt) için şunu kullanın:
<input type="file" accept="text/plain" />
Görüntü Dosyaları** (.png/.jpg/etc) için şunu kullanın:
<input type="file" accept="image/*" />
HTML Dosyaları** (.htm,.html) için:<br/> kullanın;
<input type="file" accept="text/html" />
Video Dosyaları** (.avi, .mpg, .mpeg, .mp4) için kullanın:
<input type="file" accept="video/*" />
Ses Dosyaları** (.mp3, .wav, vb.) için kullanın:
<input type="file" accept="audio/*" />
PDF Dosyaları** için kullanın:
<input type="file" accept=".pdf" />
DEMO:
NOT:
Excel CSV dosyalarını (.csv
) görüntülemeye çalışıyorsanız, NOT kullanın:
text/csv
application/csv
text/comma-separated-values
(sadece Opera'da çalışır).Eğer belirli bir dosya türünü (örneğin bir WAV
veya PDF
) görüntülemeye çalışıyorsanız, bu neredeyse her zaman işe yarayacaktır...
<input type="file" accept=".FILETYPE" />
Dom bu özellik çok eski ve bildiğim kadarıyla modern tarayıcılarda kabul edilmiyor, Ama işte buna bir alternatif, Şunu deneyin
<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);" />
Sanırım size yardımcı olacaktır, tabii ki bu betiği ihtiyaçlarınıza göre değiştirebilirsiniz.
CSV mime-type için accept niteliğinde text/comma-separated-values
kullandım ve Opera'da sorunsuz çalışıyor. Metin/csv`yi denedim ama olmadı.
Önerilenler çalışmazsa CSV için diğer bazı MIME-Tipleri: