I use this code to accept an image submission from an iPhone app:
def mobilepost():
item_id = 0
form = SQLFORM.factory(
Field('username'),
Field('title'),
Field('price'),
Field('image', 'upload',
uploadfolder=request.folder+'static/uploads'))
if form.accepts(request):
user = db(db.auth_user.email==form.vars.username).select().first()
if user:
item_id = db.item.insert(seller=user, title=form.vars.title,
image=form.vars.image_newfilename,
start_price=form.vars.price, price_change=form.vars.price *
0.1)
elif form.errors:
response.flash = 'form has errors'
app_logging.info(form.errors)
return ''