Nomelihp / Opium

Online Photogrammetry Interface for User-friendly Micmac
5 stars 4 forks source link

Formulaire d'import de fichiers #15

Closed Rhynchocephale closed 9 years ago

Rhynchocephale commented 9 years ago

Dans la pop-up pour l'étalonnage, il est possible d'importer un fichier de calibration. Ce fichier doit être un XML. Dans la balise "input", j'ai essayé les attributs "accept='.xml'" et "accept='text/xml, application/xml'", mais ni Chrome, ni IceWeasel, ni Konqueror (bon, ok, c'est peut-être pas le browser le plus fiable du monde) ne semblent le prendre en compte et proposent quand même tous les types de fichiers à l'utilisateur. Si quelqu'un sait filtrer par extension/MIME, ça m'intéresse.

cwamgis commented 9 years ago

Ouais, je pense que c'est ce qui est dit ici : http://www.developpez.net/forums/d1127980/webmasters-developpement-web/balisage-x-html-validation-w3c/input-type-file-type-mime/#post6222780 Les navigateurs ne doivent toujours pas le gérer. Sinon tu peux le faire en javascript... tu fais une fonction callback qui est appelée sur un onChange de ton input et tu détectes soit l'extension : exemple => var allowedTypes = ['png', 'jpg', 'jpeg', 'gif'], fileInput = document.querySelector('#file'), prev = document.querySelector('#prev'); fileInput.addEventListener('change', function() { var files = this.files, filesLen = files.length, imgType; for (var i = 0 ; i < filesLen ; i++) { imgType = files[i].name.split('.'); imgType = imgType[imgType.length - 1]; if(allowedTypes.indexOf(imgType) != -1) { createThumbnail(files[i]); } } }, false);

... ou le type MIME (je crois que c'est le champ type de ton objet de type file)

mohamedamjad commented 9 years ago

Concernant le fichier d'etalonnage: Il doit être uplodé dans repertoire_donnees/login/id_chantier/Ori-Calib donc au cas ou l'utilisateur choisit de l'uploader manuellement, un dossier Ori-Calib doit être créé et le fichier doit être mis là dedans.

iamvdo commented 9 years ago

A priori: Le type MIME des fichiers xml est text/xml, et j'ai testé dans Chrome:

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

Un tableau de compatibilité des différents attributs de l'élément input

Rhynchocephale commented 9 years ago

Effectivement, ça a l'air de marcher sur Chrome. J'avais testé sous Chromium, et d'autres browsers customisés par Debian.

Rhynchocephale commented 9 years ago

Ouais, on va dire que c'est bon.