Problème de chemin ...........
Vous avez mal lu mais l'upload a déja été fait avant l'appel de la procédure javascript ci dessus qui est chargée de l'affichage !
Méthode pour reproduire le problème :
1* Se rendre sur la page de démo : http://chrono.apinc.org/index.php?numero=25
2* Choisir une des démo et ouvrir le bureau (prive & prive)
3* Se rendre sur la partie "Edition" et choisir une page !
4* Cliquer sur "Image" dans le bandeau jaune pour insérer une image puis sur "parcourir" puis sur ok ! PROBLEME : l'image uploadée ne s'affiche pas sous FF alors qu'elle s'affiche très bien sous Mozilla et autres !!!!!
Méthode pour reproduire le problème :
1* Se rendre sur la page de démo : http://chrono.apinc.org/index.php?numero=25
2* Choisir une des démo et ouvrir le bureau (prive & prive)
3* Se rendre sur la partie "Edition" et choisir une page !
4* Cliquer sur "Image" dans le bandeau jaune pour insérer une image puis sur "parcourir" puis sur ok ! PROBLEME : l'image uploadée ne s'affiche pas sous FF alors qu'elle s'affiche très bien sous Mozilla et autres !!!!!
Ben non, il n'y a pas d'upload.Lépine a écrit :Vous avez mal lu mais l'upload a déja été fait avant l'appel de la procédure javascript ci dessus qui est chargée de l'affichage !
Petit rappel, l'upload se fait à la soumission d'un formulaire, pas avant. Dans ton cas, il n'y a pas de soumission, donc pas d'upload, donc le document est bloqué par mesure de sécurité.
Autant que je sache, avec la Mozilla 1.8a5, ça ne marche pas mieux. Je ferais des essais avec Safari ce soir si tu veux (et si j'y pense).
Merci pour la procédure de test.
Bah effectivement, c'est bien ce qu'on se tue à te dire depuis le début. En http:// il t'est interdit d'accéder à des liens en file://
Sous IE ça fonctionne car y'a un trou de sécurité. Sous les vieux Mozilla ça devait être le cas aussi, mais heureusement c'est corrigé depuis.
Bah effectivement, c'est bien ce qu'on se tue à te dire depuis le début. En http:// il t'est interdit d'accéder à des liens en file://
Sous IE ça fonctionne car y'a un trou de sécurité. Sous les vieux Mozilla ça devait être le cas aussi, mais heureusement c'est corrigé depuis.
Moi je pense que je trouve que c'est plutôt un bug de firefox 1.0
Je précise qu'en essayant, çà fonctionne sous mozilla 1.7.3.
D'ailleurs, je ne vois pas (mais je loupe peu être quelque chose...) en quoi c'est une faille de sécurité que de pouvoir afficher ses propres fichiers sur son navigateur.
J'allai envoyer le message quand je suis tombé sur :
http://www.chevrel.org/fr/faq/#N13
Il s'avèrait donc que se soit un choix délibéré de firefox (je vois toujours pas pourquoi). La seule solution étant de modifier une préférence utilisateur de firefox (côté client donc), ce qui ne satisfera évidemment pas Lépine JEAN...
désolé

Je viens un peu de chercher, j'ai rien trouvé de tel ...En http:// il t'est interdit d'accéder à des liens en file://
Je précise qu'en essayant, çà fonctionne sous mozilla 1.7.3.
D'ailleurs, je ne vois pas (mais je loupe peu être quelque chose...) en quoi c'est une faille de sécurité que de pouvoir afficher ses propres fichiers sur son navigateur.
J'allai envoyer le message quand je suis tombé sur :
http://www.chevrel.org/fr/faq/#N13
Il s'avèrait donc que se soit un choix délibéré de firefox (je vois toujours pas pourquoi). La seule solution étant de modifier une préférence utilisateur de firefox (côté client donc), ce qui ne satisfera évidemment pas Lépine JEAN...
désolé
>Je ne vois plus du tout comment résoudre le problème pour faire les upload à partir du disque dur client !!!
Ben, heu là, au milieu de tous tes javascript (le prend pas mal, mais je trouve que c'est un sacré capharnaüm à lire si on est pas le codeur
), pour le faire simplement c'est pas gagné.
Toujours est il qu'il faut, je pense, revenir à du basique. Tu génères des champs de type file (texte1, texte2...), donc l'utilisateur clique sur les boutons "parcourir", et donc tu peux récupérer sur le serveur le fichier choisi, et tu peux afficher (dans le champs correspondant et/ou ailleurs) la value (par js)pour lui indiquer quel fichier il a choisi, avant l'envoi.
Pour ce qui est de la prévisualisation avant qu'il ne l'envoie, soit les utilisateurs de firefox ne l'ont pas, soit effectivement l'idée de jv2759 peut peut être marcher. En déclenchant une popup contenant le lien local (file:///c:/....), firefox devrait l'afficher. En effet, il semble que firefox refuse les liens locaux lorsqu'ils sont dans une page appelée par http, mais ne les refuse pas quand l'url de l'objet est local. Essaie de taper file:///c:/ dans la barre d'adresse de firefox, çà marche.
Sinon, il est évident que ton projet est déjà abouti, et sans aucune présomption de ma part, tu devrais te pencher pour tes prochains travaux sur la séparation du contenu et de la présentation par CSS, ainsi que sur la séparation des comportements. Le code se trouverait largement allégé et serait plus lisible, et donc plus facile à maintenir.
Mais c'est du beau boulot.
Ben, heu là, au milieu de tous tes javascript (le prend pas mal, mais je trouve que c'est un sacré capharnaüm à lire si on est pas le codeur

Toujours est il qu'il faut, je pense, revenir à du basique. Tu génères des champs de type file (texte1, texte2...), donc l'utilisateur clique sur les boutons "parcourir", et donc tu peux récupérer sur le serveur le fichier choisi, et tu peux afficher (dans le champs correspondant et/ou ailleurs) la value (par js)pour lui indiquer quel fichier il a choisi, avant l'envoi.
Pour ce qui est de la prévisualisation avant qu'il ne l'envoie, soit les utilisateurs de firefox ne l'ont pas, soit effectivement l'idée de jv2759 peut peut être marcher. En déclenchant une popup contenant le lien local (file:///c:/....), firefox devrait l'afficher. En effet, il semble que firefox refuse les liens locaux lorsqu'ils sont dans une page appelée par http, mais ne les refuse pas quand l'url de l'objet est local. Essaie de taper file:///c:/ dans la barre d'adresse de firefox, çà marche.
Sinon, il est évident que ton projet est déjà abouti, et sans aucune présomption de ma part, tu devrais te pencher pour tes prochains travaux sur la séparation du contenu et de la présentation par CSS, ainsi que sur la séparation des comportements. Le code se trouverait largement allégé et serait plus lisible, et donc plus facile à maintenir.
Mais c'est du beau boulot.
Parce que si on ne met pas ce genre de restriction, il devient très facile de tester si certains fichiers sont présent sur ton ordinateur, il devient théoriquement possible aussi d'analyser un certain nombre de fichiers à ton insu (par exemple les fichiers où sont stockés tes mots de passe).martin a écrit :Il s'avèrait donc que se soit un choix délibéré de firefox (je vois toujours pas pourquoi). La seule solution étant de modifier une préférence utilisateur de firefox (côté client donc), ce qui ne satisfera évidemment pas Lépine JEAN...
Bref, je n'ai pas vraiment le temps de fabriquer un exemple concret pour montrer que c'est potentiellement dangereux (de plus il faut peut-être d'autres failles pour réellement exploiter le problème), mais ça l'est.
C'est une faille de sécurité corrigée récemment :
https://bugzilla.mozilla.org/show_bug.cgi?id=69070
https://bugzilla.mozilla.org/show_bug.cgi?id=69070
Fais ça en PHP.Lépine JEAN a écrit :Je ne vois plus du tout comment résoudre le problème pour faire les upload à partir du disque dur client !!!
Un bout de code. Pas parfait mais ça fait une base de départ :
Code : Tout sélectionner
if( isset($_GET["store"]) )
{
$strTmpFilePath = $_FILES["filePicture"]["tmp_name"]; // Chemin du fichier téléchargé
if( is_uploaded_file($strTmpFilePath))
{
$strFileName = $_FILES["filePicture"]["name"]; // Nom du fichier seul
$strFilePath = "gfx/" . $strFileName;
move_uploaded_file($strTmpFilePath, $strFilePath);
clearstatcache();
}
else
{
echo "<p>Erreur de téléchargement.<p>";
}
}
Code : Tout sélectionner
<form method="post" enctype="multipart/form-data" action="gfx-upload.php?store=1">
<p><input name="filePicture" type="file" size="50" /></p>
<p><button type="submit">Télécharger l'image</button></p>
</form>
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités