from bottle import route, request, run @route('/upload', method='POST') def do_upload(): name = request.forms.get('name') data = request.files.get('data') if name and data: raw = data.file.read() # This is dangerous for big files filename = data.filename return "Hello %s! Your uploaded %s (%d bytes)." % (name, filename, len(raw)) return "You missed a field." run(host='10.0.0.50', port=8080)