[Plone-IT] [Plone 2.5.5] inviare una mail con il contenuto di un FileField come allegato

Yuri yurj a alfa.it
Ven 9 Gen 2009 12:40:30 UTC


Luca ha scritto:
> On Fri, Jan 9, 2009 at 11:10 AM, moaiamorfo <moaiamorfo a gmail.com> wrote:
>   
>> il problema è che, anche se riesco ad avere un riferimento al mio
>> FileField, esso non è mai un'istanza di FileUpload e dunque seek e
>> read non posso utilizzarli. anche un banale getFile().read() non
>> funziona.
>>     
>
> Forse getFile().read() funziona se hai FileSystemStorage installato.
>   

forse il campo non si chiama "file" per cui getFile non legge nulla?

 Cmq, il controllo su FileUpload lo puoi togliere in quanto PloneFormGen 
usa il campo file solo per avere l'upload e il nome del campo, non per 
fare lo storage (anche perché non c'è uno storage =) ). Sostanzialmente 
il file viene trasferito su un file temporaneo nel server, e accessibile 
tramite la request, ad esempio.

Nel tuo caso, se è un campo, il contenuto del file lo ricavi con 
get<Nome campo>.read() (la prima lettera del campo dev'essere scritta in 
maiuscolo, es: file -> getFile)

> Di base tii basta
> data = str(getFile())
> senza seek o altro. Ovviamente così se il file è di 15mega lo stai
> caricando tutto in memoria!
>   

Appunto, conviene in questi casi usare le api apposite, read dovrebbe 
supportare tranquillamente i file più "cicciotti".

> _______________________________________________
> Plone-IT mailing list
> Plone-IT a lists.plone.org
> http://lists.plone.org/mailman/listinfo/plone-it
> http://www.nabble.com/Plone---Italy-f21728.html
>   





Maggiori informazioni sulla lista Plone-IT