MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Избройте и обслужвайте файлове от GridFS с Flask

За да сервирате файл на клиент, можете да подготвите изглед, подобен на този:

@app.route('/client/serve/<file_id>/', methods=['GET', 'POST'])
@login_required
def serve_file(file_id):
    from mongoengine.connection import get_db
    from gridfs import GridFS, NoFile
    from bson.objectid import ObjectId
    from flask import make_response

    db = get_db()
    fs = GridFS(db)
    try:
        f = fs.get(ObjectId(file_id))
    except NoFile:
        fs = GridFS(db, collection='images')  # mongoengine stores images in a separate collection by default
        try:
            f = fs.get(ObjectId(file_id))
        except NoFile:
            raise ValueError("File not found!")

    response = make_response(f.read())
    response.mimetype = 'image/jpeg'
    return response


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis срещу MongoDB:Какво трябва да знаете

  2. MongoDB C# Индекс на масив или индексиране на вътрешни елементи на масиви

  3. Въпрос на Mongo Query $gt,$lt

  4. Какъв е максималният размер на колекцията в mongodb

  5. Актуализирайте поддокумент на MongoDB, когато родителският документ може да не съществува