Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1584 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Impossible de copier/coller un path dans un input type file sous FF3

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Impossible de copier/coller un path dans un input type file sous FF3

n°2018871
rufo
Pas me confondre avec Lycos!
Posté le 25-08-2010 à 11:16:46  profilanswer
 

Bonjour,
Depuis Firefox 3, le comportement du input type "file" a beaucoup changer (sans doute pour des raisons de sécurité) : difficile de récupérer le path complet du fichier sélectionné (j'ai fini par trouver une solution pour ça), blocage de l'envoi du formulaire si on modifie via JS le contenu du input file et surtout, impossible de copier/coller un path dans le champ :(
 
Existe t-il un privilège à mettre dans le about:config ou le user.js qui permettrait de remettre le comportement du input file comme c'était sous FF2?
 
Merci :)
 
Edit : pour ceux que ça intéresse, pour récupérer le path complet d'un input type file sous FF3, faut mettre la ligne suivante dans un try/catch avant de tenter de récupérer le .value du champ :

Code :
  1. netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect" );


Pour pouvoir activer ce privilège, faut auparavant que le user ait configuré son about.config avec la clé "signed.applets.codebase_principal_support" à true.


Message édité par rufo le 25-08-2010 à 11:20:16

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
mood
Publicité
Posté le 25-08-2010 à 11:16:46  profilanswer
 

n°2018924
gatsu35
Blablaté par Harko
Posté le 25-08-2010 à 13:40:09  profilanswer
 

La sécurité tu sais ce que ça signifie ?
si je pouvais modifier le input file, je pourrais du coup récupérer n'importe quel fichier sur la machine de l'utilisateur.
 
Je ne vois pas du tout pourquoi tu aurais besoin du path du fichier de l'utilisateur.
Tu peux expliquer pourquoi ?


---------------
Blablaté par Harko
n°2018964
rufo
Pas me confondre avec Lycos!
Posté le 25-08-2010 à 15:16:12  profilanswer
 

Pour info, ce nouveau comportement a été très critiqué depuis 2008 sur le web. Ne pas permettre à l'utilisateur de faire un copier/coller d'un path de fichier direct dans le input file est quand même pas pratique (alors que FF2 et inférieur le permettaient). :/
 
Et je ne critique pas le fait que le JS ne puisse pas renseigner l'attribut value du input file. Je critique le fait que de vider la valeur du input file fait que FF3 bloque l'envoi du formulaire.
 
Pour le contexte de mon besoin (appli Astres), j'ai des fiches documentaires dans un intranet qui référencent des docs sur un lecteur réseau. Sur chaque fiche, j'ai besoin d'avoir un bouton qui permette d'ouvrir le fichier avec un lien local en file://. Il faut donc que l'utilisateur puisse saisir le path du fichier facilement mais de mon côté, j'ai pas besoin de télécharger le fichier sur le serveur, je veux juste le path. Quand le navigateur officiel était FF2 (ou < ), pas de pb. J'utilise un input type file qui sert d'IHM pour saisir le path. Au moment de l'envoi du formulaire, pour pas uploader le fichier, je copie le path du fichier dans un champ caché et je vide le input file. Avec FF3, ça ne marche plus, Firefox bloque l'envoi du form car il détecte un comportement douteux d'un JS.Mais j'ai résolu ce pb avec netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect" ); et la clé signed.applets.codebase_principal_support" à true dans le about:config.
 
Sauf que les fiches documentaires référencent aussi des docs qui se trouve sur une GED (web). Donc des fois, le path peut être une url. Sous FF2, pas de pb, l'utilisateur copie/colle l'url dans le input file, contenu copié ensuite dans le champ caché. mais là, plus possible de copier/coller quoi que ce soit dans le input file sous FF3 :( Je me demandais donc s'il n'existait pas une clé dans le about:config ou un privilège permettant de remettre le copier/coller actif dans les input type file...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2018977
rufo
Pas me confondre avec Lycos!
Posté le 25-08-2010 à 15:55:11  profilanswer
 

Sinon, pour FF3 uniquement, j'ai trouvé ça pour sélectionner un fichier avec une belle IHM :

Code :
  1. netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect" );
  2. const nsIFilePicker = Components.interfaces.nsIFilePicker;
  3. var fp = Components.classes["@mozilla.org/filepicker;1"]
  4.                    .createInstance(nsIFilePicker);
  5. fp.init(window, "Dialog Title", nsIFilePicker.modeOpen);
  6. fp.appendFilters(nsIFilePicker.filterAll | nsIFilePicker.filterText);
  7. var rv = fp.show();
  8. if (rv == nsIFilePicker.returnOK || rv == nsIFilePicker.returnReplace) {
  9.   var file = fp.file;
  10.   // Get the path as string. Note that you usually won't
  11.   // need to work with the string paths.
  12.   var path = fp.file.path;
  13.   // work with returned nsILocalFile...
  14. }


 
Mais c'est quand même plus compliqué que ma solution initiale qui avait le mérite de marcher sur tous les navigateurs... :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Impossible de copier/coller un path dans un input type file sous FF3

 

Sujets relatifs
Erreur 13 :incompatibilité typeajouter un path à include_path avec un 2eme php.ini
Access, impossible d'atteindre nouvel enregistrementMacro: Changer le type du fichier dans Enregistrer sous
Conversion de type c pour une utilisation de dll VBAMacro pour copier un tableau de tableau variable vers Word
Recherche editeur C type Nassi-SchneidermanVBS - Copier feuille Excel vers un autre classeur
VBA pour copier une cellule a une date determine chaque moisCopier Coller vers un autre classeur excel sous condition
Plus de sujets relatifs à : Impossible de copier/coller un path dans un input type file sous FF3


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR