LAND doc
LAND doc
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = 'static/uploads'
app.config['ALLOWED_EXTENSIONS'] = {'png', 'jpg', 'jpeg', 'gif', 'mp4', 'avi',
'mov'}
def allowed_file(filename):
return '.' in filename and filename.rsplit('.', 1)[1].lower() in
app.config['ALLOWED_EXTENSIONS']
if __name__ == '__main__':
os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True)
app.run(debug=True)
# Create a templates folder and add an index.html file with the following content:
"""
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Image and Video Upload</title>
<style>
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 1rem;
}
.grid-item {
width: 100%;
height: 200px;
object-fit: cover;
}
</style>
</head>
<body>
<h1>Upload Images and Videos</h1>
<form method="post" enctype="multipart/form-data">
<input type="file" name="file" accept="image/*,video/*">
<input type="submit" value="Upload">
</form>
<div class="grid">
{% for file in files %}
{% if file.lower().endswith(('.png', '.jpg', '.jpeg', '.gif')) %}
<img src="{{ url_for('static', filename='uploads/' + file) }}"
alt="{{ file }}" class="grid-item">
{% elif file.lower().endswith(('.mp4', '.avi', '.mov')) %}
<video src="{{ url_for('static', filename='uploads/' + file) }}"
class="grid-item" controls></video>
{% endif %}
{% endfor %}
</div>
</body>
</html>