2017-07-20 1 views
-1

Ich schreibe eine Flask-Web-App, in der wir Bilder im Dateisystem hochladen und speichern können. Ich möchte auch Bilder mit wenig Informationen wie Stadt speichern, Datum zu erfassen, etc .. und mehr Funktionen wie Sortieren von Bildern mit Datum, beliebt bei Benutzern, Sortieren nach der Stadt. Wie kann ich das tun, wenn ich Bilder im Dateisystem speichere, keine Datenbank?Bild hochladen und mit Informationen speichern

import os 
    from flask import Flask, render_template, request, redirect, url_for, 
    send_from_directory 
    from werkzeug.utils import secure_filename 


    app = Flask(__name__) 

    APP_ROOT = os.path.dirname(os.path.abspath(__file__)) 
    UPLOAD_FOLDER = os.path.join(APP_ROOT, 'static/uploads') 
    app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER 

app.config['ALLOWED_EXTENSIONS'] = set(['png', 'jpg', 'jpeg','gif']) 
    def allowed_file(filename): 
    return '.' in filename and \ 
     filename.rsplit('.', 1)[1] in app.config['ALLOWED_EXTENSIONS'] 


    @app.route('/') 
    def index(): 
     return render_template('index.html') 



@app.route('/upload', methods=['POST']) 
    def upload(): 
     file = request.files['file'] 
     if file and allowed_file(file.filename): 
      filename = secure_filename(file.filename) 
      file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) 
     return redirect(url_for('uploaded_file',filename=filename)) 

    @app.route('/uploads/<filename>') 
    def uploaded_file(filename): 
     return send_from_directory(app.config['UPLOAD_FOLDER'],filename) 

    if __name__ == '__main__': 
    app.run(port=4555) 
+0

Schreibe den Code als Text anstelle von Bildern zu können, kopieren und einfügen – Micho

Antwort

0

Sieht aus, als ob Sie auf die Exif-Daten zugreifen möchten. Schauen Sie sich dieses Paket: https://pypi.python.org/pypi/ExifRead

import exifread 
# Open image file for reading (binary mode) 
f = open(path_name, 'rb') 

# Return Exif tags 
tags = exifread.process_file(f) 
+0

Die Verbindung I sagt Ihnen zur Verfügung gestellt, wie. Ich habe auch meine Antwort mit dem relevanten Abschnitt aktualisiert, um die Exif-Tags zu erhalten. –

+0

in Zukunft werde ich Funktionen wie hinzufügen, sortieren meine Bilder mit Stadt Namen oder zeigen Top-Ten-Bilder unter Benutzer, zuletzt hochgeladen Bilder. Denkst du, ist das der richtige Ansatz, um Daten für jedes Bild zu speichern? –