J'ai un objet de téléchargement de fichier sur ma page:
<input type="file" ID="fileSelect" />
avec les fichiers Excel suivants sur mon bureau:
- file1.xlsx
- file1.xls
- file.csv
Je veux que le téléchargement de fichiers à seulement montrer .xlsx
, .xls
, et les .csv
fichiers.
En utilisant l' accept
attribut, j'ai trouvé que ces types de contenu prenaient en charge les .xlsx
& .xls
extensions ...
accept
= application / vnd.openxmlformats-officedocument.spreadsheetml.sheet (.XLSX)
accept
= application / vnd.ms-excel (.XLS)
Cependant, je ne trouve pas le type de contenu correct pour un fichier CSV Excel! Aucune suggestion?
EXEMPLE: http://jsfiddle.net/LzLcZ/
Réponses:
Et bien c'est embarrassant ... J'ai trouvé la solution que je cherchais et ça ne pourrait pas être plus simple. J'ai utilisé le code suivant pour obtenir le résultat souhaité. J'espère que cela aidera quelqu'un à l'avenir. Merci à tous pour votre aide.
Types d'acceptation valides:
Pour les fichiers CSV (.csv), utilisez:
Pour les fichiers Excel 97-2003 (.xls), utilisez:
Pour les fichiers Excel 2007+ (.xlsx), utilisez:
Pour les fichiers texte (.txt), utilisez:
Pour les fichiers image (.png / .jpg / etc), utilisez:
Pour les fichiers HTML (.htm, .html), utilisez:
Pour les fichiers vidéo (.avi, .mpg, .mpeg, .mp4), utilisez:
Pour les fichiers audio (.mp3, .wav, etc.), utilisez:
Pour les fichiers PDF , utilisez:
DÉMO:
http://jsfiddle.net/dirtyd77/LzLcZ/144/
REMARQUE:
Si vous essayez d'afficher des fichiers Excel CSV (
.csv
), n'utilisez PAS :text/csv
application/csv
text/comma-separated-values
( fonctionne uniquement dans Opera ).Si vous essayez d'afficher un type de fichier particulier (par exemple, un
WAV
ouPDF
), cela fonctionnera presque toujours ...la source
<input type="file" accept=".csv, text/csv" />
travaillé pour moi dans firefox, chrome et opera sur mac. seul .csv ne fonctionnait pas dans tous les navigateurs.De nos jours, vous pouvez simplement utiliser l'extension de fichier
la source
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel
) ne semble toujours pas fonctionner sur Edge 41.16299.820.0 stackoverflow.com/questions/31875617/… wpdev.uservoice.com/forums/257854-microsoft-edge-developer/…Dom cet attribut est très ancien et n'est pas accepté dans les navigateurs modernes pour autant que je sache, mais voici une alternative, essayez ceci
Je suppose que cela vous aidera bien sûr, vous pouvez modifier ce script en fonction de vos besoins.
la source
accept
attribut est l'indice qu'il fournit à la boîte de dialogue de fichier ouvert. L'utilisateur devrait se voir présenter par défaut des fichiers correspondants, probablement avec une option pour sélectionner d'autres types s'il le souhaite - c'est ainsi que la plupart des navigateurs modernes se comportent maintenant.J'ai utilisé le
text/comma-separated-values
type mime CSV dans l'attribut accept et cela fonctionne bien dans Opera. Essayétext/csv
sans chance.Certains autres types MIME pour CSV si les suggestions ne fonctionnent pas:
Source: http://filext.com/file-extension/CSV
la source
Cela n'a pas fonctionné pour moi sous Safari 10:
J'ai dû écrire ceci à la place:
la source
Vous pouvez connaître le type de contenu correct pour n'importe quel fichier en procédant simplement comme suit:
1) Sélectionnez le fichier intéressé,
2) Et lancez dans la console ceci:
Vous pouvez également définir l'attribut "multiple" pour votre entrée pour vérifier le type de contenu de plusieurs fichiers à la fois et faire ensuite:
L'acceptation d'attribut a quelques problèmes avec plusieurs attributs et ne fonctionne pas correctement dans ce cas.
la source
J'ai modifié la solution de @yogi. L'ajout est que lorsque le fichier est de format incorrect, je réinitialise la valeur de l'élément d'entrée.
J'ai un buildin de vérification personnalisé, car dans la fenêtre de fichier ouverte, l'utilisateur peut toujours choisir les options "Tous les fichiers ('*')", que je définisse explicitement l'attribut accept dans l'élément d'entrée.
la source
Vous pouvez maintenant utiliser le nouvel attribut de validation d'entrée html5
pattern=".+\.(xlsx|xls|csv)"
.la source
This attribute applies when the value of the type attribute is text, search, tel, url or email; otherwise it is ignored.
ce qui concerne l'entrée du fichier, ils continuentfile: A control that lets the user select a file. Use the accept attribute to define the types of files that the control can select.