from flask import Flask, request, redirect, url_for, make_response, abort from werkzeug import secure_filename from pymongo import Connection from pymongo.objectid import ObjectId from gridfs import GridFS from gridfs.errors import NoFile ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif']) DB = Connection().gridfs_server_test FS = GridFS(DB) app = Flask(__name__) def allowed_file(filename): return '.' in filename and \ filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS @app.route('/', methods=['GET', 'POST']) def upload_file(): if request.method == 'POST': file = request.files['file'] if file and allowed_file(file.filename): filename = secure_filename(file.filename) oid = FS.put(file, content_type=file.content_type, filename=filename) return redirect(url_for('serve_gridfs_file', oid=str(oid))) return '''