This should help:

def index():
    form = FORM(INPUT(_type='file', _id="files", _name="files", 
_multiple=True, _value='File test'),
                INPUT(_type="submit")).process()
    if form.accepted:
        for item in form.vars.files:
            print item.filename, item.file.read()
    return dict(form=form)

On Wednesday, 22 October 2014 00:01:06 UTC-5, PRACHI VAKHARIA wrote:
>
>
>
>
>  
>
> Dear Alan and Massimo,
>
> First, please look at this site:
>
> *http://www.html5rocks.com/en/tutorials/file/dndfiles/ 
> <http://www.html5rocks.com/en/tutorials/file/dndfiles/>*
>
>
> It shows how to upload and read multiple files directly using HTML5 *(and 
> JavaScript)*.
> It uses the *File API specification* from W3:
>
> http://www.w3.org/TR/file-upload/
>
>
>
> How to implement that in Web2Py for Email Composing with File Attachments?
>
>
> *Controller*
>
>
> def Composer():
>     form = FORM <http://localhost:8000/examples/global/vars/FORM>(TABLE 
> <http://localhost:8000/examples/global/vars/TABLE>(
>         TR <http://localhost:8000/examples/global/vars/TR>('Subject:', INPUT 
> <http://localhost:8000/examples/global/vars/INPUT>(_type='text', 
> _name='subject',
>            requires=IS_NOT_EMPTY 
> <http://localhost:8000/examples/global/vars/IS_NOT_EMPTY>())),
>         TR <http://localhost:8000/examples/global/vars/TR>('Email To:', INPUT 
> <http://localhost:8000/examples/global/vars/INPUT>(_type='text', 
> _name='emailto', _multiple="",
>            requires=IS_EMAIL 
> <http://localhost:8000/examples/global/vars/IS_EMAIL>())),
>         TR <http://localhost:8000/examples/global/vars/TR>('Save Draft?', 
> SELECT <http://localhost:8000/examples/global/vars/SELECT>('yes', 'no', 
> _name='savedraft',
>            requires=IS_IN_SET 
> <http://localhost:8000/examples/global/vars/IS_IN_SET>(['yes', 'no']))),
>         TR <http://localhost:8000/examples/global/vars/TR>('Body', TEXTAREA 
> <http://localhost:8000/examples/global/vars/TEXTAREA>(_name='body',
>            value='Body of email')),
>         *TR <http://localhost:8000/examples/global/vars/TR>( 'File', INPUT 
> <http://localhost:8000/examples/global/vars/INPUT>(_type='file', _id="files", 
> _name="files[]", _multiple="", _value='File test')*
> * ),        *TR <http://localhost:8000/examples/global/vars/TR>('', INPUT 
> <http://localhost:8000/examples/global/vars/INPUT>(_type='submit', 
> _value='EMAIL'))
>     ))
>     
>     if form.process().accepted:
>         response <http://localhost:8000/examples/global/vars/response>.flash 
> = 'Form accepted'
>         
>         if form.vars.savedraft:
>             *## SAVE DRAFT on IMAP ##*
>             draft_id = imapdb.Gmail_Drafts.insert(
>                         to=form.vars.emailto, subject=form.vars.subject, 
> content=form.vars.body, draft=True,
>                         *attachments = [ mail.Attachment( 
> form.vars.FILE.file.read(), filename=form.vars.FILE.filename ) ]*
>                         )
>             response.flash = 'Email Saved'
>         else:
>             *## SEND Email by SMTP ##*
>             mail.send(
>                   to = form.vars.emailto,
>                   subject = form.vars.subject,
>                   message = (form.vars.body, '<html>' + form.vars.body + 
> '</html>'),
>                   *attachments = [ mail.Attachment( 
> form.vars.FILE.file.read(), filename=form.vars.FILE.filename ) ]*
>                   )
>             response.flash = 'Email Sent'
>
>     elif form.errors:
>         response <http://localhost:8000/examples/global/vars/response>.flash 
> = 'Errors in form'
>     else:
>         response <http://localhost:8000/examples/global/vars/response>.flash 
> = 'Compose Email'
>
> return dict(form=form) 
>
>
>
>
>
> *Questions*
>
>    - How to use   *<input type='file', name="files[]", multiple="">*   to 
>    input files for Attachment to email?
>    - How to extract the required file attributes and append them directly 
>    into the mail message and attachment?
>    - If the HTML5 provides a means to input, read and upload files, why 
>    cannot we use that directly in web2py Email to read and attach multiple 
>    files?
>    
>  
>
> Please look into this and help implementing this.
>
>
> Thank you, very much.
>
> Gratefully, 
>
> *PRACHI V*
>
>
>
>
>
>
> _
>
>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to