Now I have in controller: def upload(): form = FORM("Upload file:",INPUT(_type='file',_name='myfile'),INPUT(_type='submit',_name='submit',_value='Submit')) if request.vars: if form.accepts(request,session): my_file = request.vars.myfile.file my_filename = request.vars.myfile.filename filepath = os.path.join(request.folder, 'uploads') // this path work - it is absolute path in hard drive fp =open(filepath.my_filename,'wb') fp.write(my_file) fp.close() return dict(form=form)
request.vars.myfile -> make return on stored object request.vars.myfile.file -> make return address of stored object I understood what you told me, and logical check on conditions, but how to put everything in one function. the pseudo algorithm in my head is next: make def func(): make form = FORM(...) check if condition existing make file = request.vars.myfile.file make filename = request.vars.myfile.filename make filepath = os.path.join(...) make write file to filepath filename go to page and show empty form - wait for new file else: just show empty form without submission return form but I just loss my mind after 24 ours of trying this or similar uploads. Miroslav On Nov 19, 6:12 pm, Anthony <abasta...@gmail.com> wrote: > You can tell if the function is being called with a form submission by > checking for request.vars: > > if request.vars: > print 'this is a form submission' > > > > > > > > On Saturday, November 19, 2011 12:06:40 PM UTC-5, miroslavgojic wrote: > > > The error is caused when file is not selected. > > By default on first run form is empty (file is not selected), and form > > must wait for selecting and submitting. > > > How access to file before calling form? What that mean? > > > Miroslav > > > On Nov 19, 5:52 pm, Anthony <abas...@gmail.com> wrote: > > > You might need to access the file before calling form.accepts (first > > you'll > > > have to check that form.vars.myfile exists). You can also access it via > > > request.vars.myfile (which won't change, even after form.accepts). > > > > Anthony