PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Upload webdev code serveur
Upload webdev code serveur
Débuté par Monsieur AURAY-LORIVAL, 09 fév. 2018 00:34 - 9 réponses
Membre enregistré
64 messages
Popularité : -1 (1 vote)
Posté le 09 février 2018 - 00:34
Bonjour,
Je sais que c'est un sujet déjà abordé mais j'ai essayé toutes les solutions que j'ai lu ici et ailleurs et rien y fait!
J'ai un champ upload simple (pas multiple) sur une page et je veux juste uploader une image. Ca marchait très bien jusque là et sans que je touche au code sur l'upload, lors d'un déploiement après quand je cliquais sur le champ ça m'affichait le sélécteur puis quand je validais plus rien, code "récéption des fichiers .." non executé et même l'impression que uploadlance ne fait rien. Puis la j'ai travaillé sur d'autres choses de mon projet et pouf carrément plus de sélécteur qui s'affiche, plus rien.

Ca m'avait déjà fait le coup plusieurs fois, à chaque fois à force de réparer le projet, faire une copie du projet à un autre emplacement et l'ouvrir depuis là, supprimer le site de mon serveur de déploiement et le redéployer entièrement, ça finissais par remarcher... bref là j'ai essayé tout ça mais rien y fait j'ai pas d'upload.
Et ça marchait avant même que j'active flash manuellement pour mon site (je l'ai fais au cas ou).
J'ai essayé sous chrome, firefox et IE, pareil.

J'ai essayé de passer par un champ de saisie upload mais le fait qu'on puisse pas modifier le style du bouton "parcourir" me convient pas.
Et j'ai trouvé une solution HTML5 sur le forum mais elle retourne une erreur à laquelle l'auteur n'a pas répondu.

Webdev est vraiment instable et aléatoire.
Auriez-vous une solution?

Mes besoins sont simples:
-uploader une image (pas multiple)
-pouvoir personnaliser le style des champs comme je veux
-pouvoir afficher l'image (je le faisais déjà mais ducoup ça marche plus)


Merci à vous
Message modifié, 09 février 2018 - 00:36
Membre enregistré
945 messages
Popularité : +53 (63 votes)
Posté le 09 février 2018 - 09:19
Bonjour,

il nous faut ton code pour que l'on puisse t'aider

jordan
Membre enregistré
64 messages
Popularité : -1 (1 vote)
Posté le 09 février 2018 - 10:03
Bonjour,
Je le posterai d'ici ce soir.
Mais ce n'est pas le code car il a très bien fonctionné depuis des mois, j'uploadais et affichais mes images.

Mon champ upload est dans une page interne. J'ai essayé de le mettre dans un champ cellule ou superchamp mais il apparaît même pas dans ces champs là contrairement à la page interne. C'est vraiment un comportement bizarre!

Par contre en affichant la console du navigateur je vois une erreur justement par rapport au champ upload:
SecurityError: Blocked a frame with origin from xxserverxx accessing a cross-origin frame


Et autre info, quand je test en local ça marche très bien! Le champ apparaît et le code serveur est exécuté mais des que je déploie ça marche plus.

Je déploie sur un serveur dédié (windows server 2012 r2) dont j'ai la main donc si faut modifier des paramètres php ou iis je peux.
Et je précise que j'ai bien mis les droits sur mon répertoire frepweb (ça marchait avant donc c'est pas un soucis de droit).

Je posterai le code d'ici ce soir.
Message modifié, 09 février 2018 - 10:04
Membre enregistré
1 623 messages
Popularité : +100 (114 votes)
Posté le 09 février 2018 - 10:53
Bonjour,

Peut être un début de réponse ici :

https://stackoverflow.com/questions/25098021/securityerror-blocked-a-frame-with-origin-from-accessing-a-cross-origin-frame

A voir si rien n'a changé coté serveur, nom de domaine ?
Mise en place d'un HTTPS récemment ?
etc...
Membre enregistré
64 messages
Popularité : -1 (1 vote)
Posté le 09 février 2018 - 11:20
Non pas de https mis en place mais effectivement je m'oriente sur cette piste: same origin policy
Dans la doc du champ page interne ils disent que le code est fusionné dynamiquement ça me fait un peu peur.
Mais en quoi utiliser un champ page interne et une page interne utilise une autre "origin"?

J'ai trouvé ce lien: https://enable-cors.org/server_iis7.html
Je vais essayer sur mon serveur iis.
D'ailleurs j'utilise iis à la place d'apache que je n'ai pas installé ça peut poser problème?

Je précise que mon projet est configuré en page dynamique sans awp.
Comment faites vous niveau structure de l'interface quand vous faites un upload?
Membre enregistré
204 messages
Popularité : +5 (5 votes)
Posté le 12 février 2018 - 13:46
bonjour,
à mon avis, il ne faut plus utiliser l'upload avec un champ qui utilise Flash, technologie abandonnée et qui va en posant de plus en plus de problèmes sur les navigateurs.
Quelle est votre version de Webdev ?

J'utilise iis, avec des pages awp (mais avant ça marchait aussi en dynamique).

J'ai eu quelques difficultés au début avec le paramètrage du serveur, car évidemment il faut avoir les droits d'écriture sur le répertoire du serveur. Or le message d'erreur est soit inexistant soit peu compréhensible (je ne me rappelle plus le détail).
Avec iis, c'est le compte NETWORK SERVICE qui est impliqué (si on a choisi la bonne stratégie de sécurité) ; il faut donc lui donner accès en écriture.
Il est donc souhaitable de commencer à vérifier si le serveur a été modifié en quoi que ce soit. Il peut aussi y avoir une problématique de taille maximale des fichiers uploadés (à voir dans le registre du serveur, je crois).

Si votre champ upload a été créé avec une version antérieure à la v22, il vaut mieux le recréer et éviter de choisir la technologie Flash, mais prendre le bouton intégré en HTML5.

Ah, oui, il faut aussi éviter de mettre le bouton en AJAX, sinon le SAI Upload ne fonctionne plus.
Il y a des subtilités à comprendre pour gérer le nom du fichier téléchargé (le fichier s'uploadant avec un nom temporaire dans un répertoire temporaire sur le serveur). Là aussi il peut y avoir une piste, si le serveur n'autorise pas la création du répertoire temporaire.
Désolé, j'ai fait ça il y a deux ans, je n'ai plus les détails exacts en tête, mais je vous l'écris au cas où cela vous permet de trouver une piste.
Pour ce qui concerne la stabilité de Webdev, je râle comme tout Français, mais globalement je trouve que c'est plutôt assez stable (et j'ai vu pire ailleurs...)

bon courage
CV
Message modifié, 12 février 2018 - 13:47
Membre enregistré
64 messages
Popularité : -1 (1 vote)
Posté le 13 février 2018 - 11:28
Bonjour,
Tout d'abord merci pour tous ces retours.

Concernant les droits d'écritures, quand j'oubliais de les donner, j'obtenais une erreur "impossible de copier le fichier de xx vers xxx ...". J'avais trouvé la solution en ajoutant les droits pour le compte IUSR.

Effectivement il a été crée avec une version 20 à l'époque.
Le "problème" du sai_upload pour moi c'est que son style n'est pas personnalisable.

Et j'ai avancé! J'ai résolu les erreurs JS que je voyais dans la console et dû à un code navigateur qui lui plaisait pas.
Maintenant l'upload marche parfaitement par Internet explorer (edge) mais pas par chrome ou firefox (j'ai même pas le sélécteur de fichier qui s'ouvre).

C'est quand même bizarre que ça marchait avant sur les 3 navigateurs alors que j'ai pas touché au code upload et pas mis à jour les navigateurs entre temps.

Sinon je pensais utiliser un champ upload multi fichiers qui apparemment n'est pas en flash?
Message modifié, 13 février 2018 - 11:30
Membre enregistré
204 messages
Popularité : +5 (5 votes)
Posté le 13 février 2018 - 16:57
Effectivement, le champ Upload propose un bouton qui peut être habillé comme le reste du site.
Je ne sais pas si en v20, il utilise HTML5 ou pas.

Le bouton qui ne déclenche pas le sélecteur, ça m'évoque un bouton qui serait passé subrepticement en mode AJAX (on n'est jamais à l'abri d'un clic mal placé...). Ou bien une interférence avec le code navigateur du bouton (pour tester, il suffirait de supprimer complètement le code navigateur du bouton).
Parfois, il y a aussi des "rémanences néfastes" qui s'incrustent dans le code ou dans les fichiers compilés (l'informatique n'est pas une science dure...). Il est parfois plus rapide de recréer un bouton à partir de zéro et d'y remettre le code par copier/coller, que de chercher pendant des heures une panne inexpliquée...
Je pratique aussi un autre mode de résolution : je crée une nouvelle fenêtre, et j'y mets juste le bouton et le code incriminé. Cela permet d'éliminer d'éventuelles interférences avec d'autres codes dans les initialisations etc.
Désolé si ces suggestions paraissent trop évidentes.
Bonne recherche
CV
Membre enregistré
64 messages
Popularité : -1 (1 vote)
Posté le 14 février 2018 - 13:58
Bon au final j'ai essayé plusieurs solutions html/javascript (plupload, dropzone, ..) pas évident à intégrer.
Résultat pour l'instant je me contenterai d'activer flash pour mon site sur firefox et chrome.

J'ai fouillé un peu dans les fichiers générés par webdev.
Dans le répertoire _WEB/res il y'a un fichier WDUplaod.js et un fichier WDUpload.swf (flash...)
Dans le code html l'upload flash est exécuté que si navigateur !=IE donc j'en conclu ceci:
Sous explorer/edge ça marche parce qu'il ne passe pas par flash mais sous un autre navigateur il passe obligatoirement par flash et la faut autoriser sinon ça ne marche pas.
J'essaie de fouiller dans les JS pour virer cette parti, je veux jamais qu'il utilise flash.

J'aimerai pouvoir comparer le fichier WDUpload.js qui était généré par webdev 20 au WDUpload.js généré par webdev 23 avec l'upload en type HTML5, quelqu'un pourrait-il mettre le code du WDUpload webdev 23 ici?

Merci
Message modifié, 14 février 2018 - 13:59
Membre enregistré
13 messages
Popularité : +1 (1 vote)
Posté le 07 juin 2019 - 08:31
bonjour,

le sujet est ancien, mais je me permets de partager la réponse.

les fonctions upload dans le code navigateur sont bloquées lorsque le site est dans une frame ("redirection transparente" chez ovh)
c'est le navigateur qui bloque.

nous avons résolu le pb en faisant une redirection "visible" chez ovh, le pb est que tout le chemin est maintenant visible dans l'adresse http.