in your client side js code use the js file api (this is for one file, but multi file upload can be done too)
$('#datafile-uploadfield').change(function() { var upload_element = $(this)[0]; var file = upload_element.files[0]; if (file) { var reader = new FileReader(); reader.readAsDataURL(file); //, "UTF-8");//TODO what encoding should be parsed??? reader.onload = (function(theFile) { return function(evt) { $.ajax({ url: '{{=URL("datafile_create")}}', data: { data: evt.target.result, name: theFile.name }, type: 'POST', dataType: 'json', success: function(data) { addDatafile(data); } }); }; })(file); reader.onerror = function(evt) { alert(":( oh noo, we could not read your file"); }; //++counter; } }); in you controller def datafile_create(): splitcontents = request.vars.data.split(',') import base64 file_content = base64.b64decode(splitcontents[1]) # create file like object import StringIO filelike_obj = StringIO.StringIO(file_content) db_store = db.datafiles.file.store(filelike_obj, request.vars.name) record_id = db.datafiles.insert(file=db_store) in you db.py db.define_table('datafiles', Field('file', 'upload', requires=IS_NOT_EMPTY()), ) == PURE AWESOMENESS -- --- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.