Problème de chemin ...........

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
PsyDk
Lézard à collerette
Messages : 317
Inscription : 23 sept. 2003, 09:41

Message par PsyDk »

Heu, je ne comprends pas ce site... Comment on fait pour reproduire le problème ? Un exemple étape par étape serait bienvenu.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Le problème c'est que là clairement tu veux le manipuler avant de l'avoir uploadé. Ça c'est un problème :?
Lépine

Message par Lépine »

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 !!!!!
bobo
Iguane
Messages : 764
Inscription : 18 août 2003, 11:04

Message par bobo »

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 !
Ben non, il n'y a pas d'upload.
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).
Les standards c'est bon, mangez en !
Flore & Sébastien
Unité dans la diversité.
Lépine JEAN

Message par Lépine JEAN »

Avec toutes mes excuses mais vous n'auriez pas une petite tendance à prendre les gens pour des cons non ?

Je voulais juste faire un petit effort pour que chrono-site fonctionne avec FF aussi !
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Quand tu cliques sur "OK" tu as quelle action ?
En fait le problème c'est ces frames qui empêchent d'accéder au code source, je suis dans l'incapacité de dire ce qui se passe quand je fais OK... il y a d'abord un document.forms.submit ou est-ce que tu commences par manipuler l'image ?
PsyDk
Lézard à collerette
Messages : 317
Inscription : 23 sept. 2003, 09:41

Message par PsyDk »

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.
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

Moi je pense que je trouve que c'est plutôt un bug de firefox 1.0 :?
En http:// il t'est interdit d'accéder à des liens en file://
Je viens un peu de chercher, j'ai rien trouvé de tel ...

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é
Lépine JEAN

Message par Lépine JEAN »

Je ne vois plus du tout comment résoudre le problème pour faire les upload à partir du disque dur client !!!

Remarque : en enlevant l'entête "file://" je n'ai plus le même message d'erreur (voir plus haut sur ce forum) mais ça ne marche toujours pas !!!
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

eventuelement ouvre un pop up (est oui des fois cela peux servire;) tu demande d'uploader l'image. Une fois que cela est fait, alors renvois dans la pages principales l'adresse de l'image que tu vien de télécharger...
Inscrit sur la liste des abonner absent...
martin
Varan
Messages : 1074
Inscription : 21 janv. 2004, 16:23

Message par martin »

>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 :D ), 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.
bobo
Iguane
Messages : 764
Inscription : 18 août 2003, 11:04

Message par bobo »

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...
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).
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.
Les standards c'est bon, mangez en !
Flore & Sébastien
Unité dans la diversité.
PsyDk
Lézard à collerette
Messages : 317
Inscription : 23 sept. 2003, 09:41

Message par PsyDk »

C'est une faille de sécurité corrigée récemment :

https://bugzilla.mozilla.org/show_bug.cgi?id=69070
PsyDk
Lézard à collerette
Messages : 317
Inscription : 23 sept. 2003, 09:41

Message par PsyDk »

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 !!!
Fais ça en PHP.

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>
Avec ça l'image se retrouve sur le serveur, et tu peux l'afficher tranquillement dans un élément img.
Lépine JEAN

Message par Lépine JEAN »

Le gros problème c'est que la solution (php ou pas) passera par un enregistrement sur le serveur et donc un réaffichage de la page alors que j'avais essayé depuis le départ de donner une souplesse visuelle à la création de page en forçant au max les affichages sans avoir à recharger la page !
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité