Accueil » Zope » Forum Zope » Forum Général Zope » Upload de fichiers

 • Upload de fichiers

Document Actions
Réponses: 0   Visites: 0
Up one level
Vous devez être un membre enregistré pour contribuer sur ce forum. Inscrivez-vous maintenant

 • Upload de fichiers

Posté par mhz42 le 18/11/2007 21:59
Bonjour tout le monde,

Voilà, je me suis lancé dans zope 3 dans le cadre d'un petit projet il y a maintenant quelques semaines, j'ai lu pas mal de doc, mais je dois avouer avoir toujours pas mal de peine à commencer :)

Voilà le problème... J'aimerais faire une petite appli toute simple:
- Une page pourvue d'un formulaire d'upload de fichier.
- Un script python qui modifie automatiquement un fichier upploadé.
- Une fois la modification faite, l'utilisateur reçoit en retour une vue du fichier modifié.

Dans les grandes lignes, ce ne doit pas être trop sorcier.

Je crois savoir qu'une bonne façon de procéder serait la suivante:
- Créer une première vue pour un dossier. Si j'ai bien compris le concept, ce dossier sera représenté par une classe de type Container.
- La vue à proprement parlé, aura une classe associée héritant de "BrowserPage", qui fera le lien entre mon fichier de template (contenant mon formulaire HTML) et la classe Container (mon dossier).
- Une fois un fichier uploadé, il faudrait inscrire un nouvel évenement afin de lancer le processus de modification sur le fichier automatiquement (probablement en association le Container avec un "IObjectAddedEvent" ).
- Et pour finir, créer une seconde vue du même dossier afin d'afficher le fichier modifié en retour...

J'ai déjà un problème avec le premier point... Comment enregister en ZCML une vue pour un certain dossier?
J'ai aussi un peu de mal à appréhender le concept de Container... Il est possible de créer une classe représentant un certain dossier? Comment cela se ferait-il? (J'ai conscience que cela paraît être une question basique, mais encore une fois, j'ai un mal fou à trouver un modus operandi)

Pour le second point, la vue, il devrait suffire d'afficher mon template contenant mon formulaire.

Le troisième point, la sauvegarde du fichier sur le disque s'annonce plus délicate, ça doit pouvoir se faire en récupérant le contenu de la requête via les informations de contextes. Je ne suis pas sûr si le code en question (qui s'occupera d'extraire et de sauver les informations de la requête) doit se trouver plutôt dans le code de la vue, ou dans le code du Container. Si c'est dans le Container que cela se passe (ce que je pense), il doit suffire de transmettre le contenu de la requête à celui-ci depuis la vue. Ce serait correct comme manière de procéder?

Pour le dernier point, afficher le résultat du traitement de fichier en retour, ça devrait être pas trop compliqué si j'arrive déjà à m'en tirer avec tout le reste.

Voilà, j'ai conscience que cela fait beaucoup de questions (dont sans doute des très basiques), mais ça va faire pas mal de jours que je planche là dessus et je commence à être légèrement desespéré (en addition de me sentir de plus en plus stupide).

Personne dans mon entourage s'y connait, et la doc en ligne est plutôt succinte... Tout aide est (grandement) la bienvenue.

Merci beaucoup!
M.H.
Ce sujet ne contient aucune réponse