ora funziona perfettamente. grazie per le indicazioni.
a presto gianni On 9/12/12, SauZheR <[email protected]> wrote: > ciao, > puo' essere che tu abbia settato il body del response con il descrittore > del file non ancora resettato. > > Ti consiglio di fare qualcosa del tipo: > > filetemporaneo.seek(0) > self.request.response.setBody(filetemporaneo.read()) > > return self.request.response.outputBody() > > > prova un po' e facci sapere. > > > ;) > alessandro > > > Il giorno 07 settembre 2012 11:35, Gianni Cozzolongo > <[email protected]>ha scritto: > >> andando avanti col debug trovo che arrivando alla esecuzione del return >> vero e proprio del form >> .buildout/eggs/z3c.form-2.4.3-py2.6.egg/z3c/form/action.py(104)execute() >> >> il tipo di oggetto del result e' di tipo file e dovrebbe contenere il >> file >> corretto, >> >> >> ad un certo punto pero' >> .buildout/eggs/Zope2-2.13.8-py2.6.egg/ZPublisher/Publish.py(129)publish() >> -> response.setBody(result) >> >> il result e' diventato il render del fom ... >> cosa non ho capito e dove sbaglio? >> >> Gianni >> >> >> >> >> 2012/9/7 Vito Falco <[email protected]> >> >>> Non dovrebbe essere solo una questione di mime type? >>> http://kb.iu.edu/data/agtj.html >>> >>> Vito >>> >>> Il giorno 07 settembre 2012 10:30, Gianni Cozzolongo >>> <[email protected] >>> > ha scritto: >>> >>> salve a tutti >>>> >>>> ho lo stesso problema ( il dowload del file mi presenta il file della >>>> pagina del form) >>>> solo che invece di una browser view ho un form creato con z3c.form. >>>> >>>> e quindi la action del form e' gestita dal @button.buttonAndHandler >>>> >>>> qualsiasi cosa metta come return mi restituisce il codice html della >>>> vista. >>>> >>>> l'oggetto da far salvare e' un file che ho precedentemente salvato in >>>> un >>>> tempfile.TemporaryFile. >>>> >>>> come faccio a restituirlo come file da scaricare? >>>> >>>> buon lavoro >>>> Gianni >>>> >>>> >>>> >>>> 2012/3/15 Simone Orsi <[email protected]> >>>> >>>>> On 03/15/2012 02:35 PM, ciccio2000 wrote: >>>>> >>>>>> * giovedì 15 marzo 2012, alle 13:07, Simone Orsi scrive: >>>>>> >>>>>>> Ciao, >>>>>>> >>>>>> [...] >>>>>> >>>>>>> come restituisci il contenuto del file? Quel "return iterator" dove >>>>>>> sta? >>>>>>> >>>>>>> Se restituisci il contenuto del file nel __call__ della view ti deve >>>>>>> per forza mostrare il contenuto del file. >>>>>>> >>>>>>> Tipo: >>>>>>> >>>>>>> def __call__(self): >>>>>>> return self.get_file_content() >>>>>>> >>>>>> >>>>>> E' in un metodo della view: >>>>>> >>>>>> class View(grok.View): >>>>>> grok.context(IMapViewer) >>>>>> grok.require('zope2.View') >>>>>> >>>>>> ... >>>>>> >>>>>> def downloadData(self): >>>>>> ... >>>>>> zfname = "/tmp/%s-%s-%s.zip" % (st, et, model) >>>>>> ... >>>>>> iterator = filestream_iterator(zfname, 'rb') >>>>>> RESPONSE.setHeader... >>>>>> return iterator >>>>>> >>>>>> >>>>>> come ho detto il file non e' un oggetto plone, >>>>>> ma viene generato su file system dinamicamente >>>>>> a seconda di come viene riempito un form >>>>>> (che si trova nella view). >>>>>> >>>>>> ciao e grazie. >>>>>> >>>>> non importa da dove arriva il contenuto, importa come lo restituisci >>>>> ;) >>>>> >>>>> Non so come vuoi che funzioni il tutto ma una possibile soluzione e' >>>>> quella che ti ho detto prima, farlo ritornare al __call__. >>>>> >>>>> Magari puoi mettere un pulsante di submit per il download che richiami >>>>> la stessa vista e nel __call__ fai qualcosa del genere: >>>>> >>>>> def __call__(self): >>>>> if self.request.get('download'): >>>>> return self.downloadData() >>>>> return super(self.__class__,self).__**call__() >>>>> >>>>> ______________________________**_________________ >>>>> Plone-IT mailing list >>>>> [email protected] >>>>> https://lists.plone.org/**mailman/listinfo/plone-plone-**it<https://lists.plone.org/mailman/listinfo/plone-plone-it> >>>>> http://plone-regional-forums.**221720.n2.nabble.com/Plone-** >>>>> Italy-f221721.html<http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html> >>>>> >>>> >>>> >>>> _______________________________________________ >>>> Plone-IT mailing list >>>> [email protected] >>>> https://lists.plone.org/mailman/listinfo/plone-plone-it >>>> >>>> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html >>>> >>> >>> >>> >>> -- >>> *Vito Falco* >>> Webdeveloper & designer freelance, Plone enthusiast >>> Bari, IT >>> tel +393346330137 | skype vito80ba | twitter vito80ba >>> Blog http://appuntiplone.wordpress.com >>> >>> >>> _______________________________________________ >>> Plone-IT mailing list >>> [email protected] >>> https://lists.plone.org/mailman/listinfo/plone-plone-it >>> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html >>> >> >> >> _______________________________________________ >> Plone-IT mailing list >> [email protected] >> https://lists.plone.org/mailman/listinfo/plone-plone-it >> http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html >> > > > > -- > bye > SauZheR > ************************************ > l'iterazione è umana... > la ricorsione, Divina! > ************************************ > reply to: sauzher AT gmail DOT com > _______________________________________________ Plone-IT mailing list [email protected] https://lists.plone.org/mailman/listinfo/plone-plone-it http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html
