views.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from app import app
  2. import os
  3. from flask import Flask, request, redirect, url_for, send_from_directory, render_template
  4. UPLOAD_FOLDER = '/Users/beatescheibel/Desktop/flask/uploads'
  5. app.config["UPLOAD_FOLDER"] = UPLOAD_FOLDER
  6. ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'])
  7. @app.route("/")
  8. def index():
  9. return render_template("index.html")
  10. def allowed_file(filename):
  11. return '.' in filename and \
  12. filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS
  13. @app.route('/upload', methods=['GET', 'POST'])
  14. def upload_file():
  15. if request.method == 'POST':
  16. file = request.files['file']
  17. if file and allowed_file(file.filename):
  18. filename = file.filename
  19. file.save(os.path.join(app.config["UPLOAD_FOLDER"], filename))
  20. return redirect(url_for('uploaded_file', filename=filename))
  21. return '''
  22. <!doctype html>
  23. <title>Upload new File</title>
  24. <h1>Upload new File</h1>
  25. <form action="" method=post enctype=multipart/form-data>
  26. <p><input type=file name=file>
  27. <input type=submit value=Upload>
  28. </form>
  29. '''
  30. @app.route('/show/<filename>')
  31. def uploaded_file(filename):
  32. #filename = 'http://127.0.0.1:5000/uploads/' + filename
  33. return render_template('show_image.html', filename=filename)
  34. @app.route('/uploads/<filename>')
  35. def send_file(filename):
  36. return send_from_directory(UPLOAD_FOLDER, filename)