Hướng dẫn tạo form upload nhiều hình ảnh bằng Python

Hướng dẫn chi tiết cách tạo form upload nhiều hình ảnh sử dụng Flask - một framework Python đơn giản và hiệu quả.

Trong bài viết này, chúng ta sẽ học cách sử dụng Flask để tạo một ứng dụng web đơn giản cho phép người dùng tải lên nhiều hình ảnh cùng một lúc và lưu trữ chúng trên máy chủ.

Mã Python:

from flask import Flask, render_template, request
import os

app = Flask(__name__)
UPLOAD_FOLDER = 'uploads'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER

# Tạo thư mục để lưu trữ hình ảnh nếu chưa tồn tại
if not os.path.exists(UPLOAD_FOLDER):
    os.makedirs(UPLOAD_FOLDER)

@app.route('/', methods=['GET', 'POST'])
def upload_files():
    if request.method == 'POST':
        # Kiểm tra xem có file nào được tải lên không
        if 'files[]' not in request.files:
            return "Không có tệp nào được chọn"
        
        files = request.files.getlist('files[]')
        
        # Lưu trữ các tệp đã được tải lên
        for file in files:
            if file.filename != '':
                file.save(os.path.join(app.config['UPLOAD_FOLDER'], file.filename))

        return "Tải lên thành công"

    return '''
    <!doctype html>
    <html>
    <head>
        <title>Tải lên nhiều hình ảnh</title>
    </head>
    <body>
        <h1>Upload nhiều hình ảnh</h1>
        <form method="POST" enctype="multipart/form-data">
            <input type="file" name="files[]" multiple>
            <input type="submit" value="Tải lên">
        </form>
    </body>
    </html>
    '''

if __name__ == '__main__':
    app.run(debug=True)

Giải thích chi tiết từng dòng code:

  1. from flask import Flask, render_template, request: Nhập các module cần thiết từ Flask.
  2. UPLOAD_FOLDER = 'uploads': Định nghĩa thư mục lưu trữ hình ảnh tải lên.
  3. if not os.path.exists(UPLOAD_FOLDER): Tạo thư mục uploads nếu nó chưa tồn tại.
  4. @app.route('/', methods=['GET', 'POST']): Định nghĩa route chính cho ứng dụng, cho phép các phương thức GET và POST.
  5. if request.method == 'POST': Xử lý yêu cầu POST khi người dùng tải lên hình ảnh.
  6. file.save(os.path.join(app.config['UPLOAD_FOLDER'], file.filename)): Lưu trữ hình ảnh trong thư mục uploads.
  7. HTML form input type="file" name="files[]" multiple>: Cho phép chọn và tải lên nhiều hình ảnh.

Yêu cầu hệ thống:

  • Python phiên bản 3.6 trở lên
  • Flask phiên bản 2.0 trở lên

Cách cài đặt các thư viện để chạy được đoạn mã Python trên:

Sử dụng lệnh sau để cài đặt Flask:

pip install flask

Lời khuyên:

  • Kiểm tra kỹ các tệp tải lên để tránh lỗi hoặc tập tin độc hại.
  • Xem xét việc giới hạn kích thước và loại tệp để bảo vệ hệ thống của bạn.
Tags: Python, Upload


Các Hướng Dẫn Cùng Chủ Đề Đang Xem

Xóa nền xanh cho hình ảnh bằng Python

Hướng dẫn cách sử dụng Python để xóa phông xanh (chroma key) khỏi hình ảnh bằng thư viện OpenCV. Mã Python này giúp bạn loại bỏ nền xanh để thay thế bằng nền khác hoặc làm cho nó trở nên trong suốt.
Cách tự động đăng nhập vào website sử dụng Selenium với Chrome trong Python

Hướng dẫn cách sử dụng thư viện Selenium trong Python để tự động đăng nhập vào một website bằng Chrome. Bài viết bao gồm hướng dẫn từng bước và mã Python hoàn chỉnh.
Xử lý đa luồng trong Python

Hướng dẫn chi tiết cách xử lý đa luồng trong Python bằng cách sử dụng thư viện `threading` và `concurrent.futures`. Bài viết này giúp bạn hiểu cách sử dụng đa luồng để tăng hiệu suất xử lý đồng thời trong các tác vụ.
Hướng dẫn làm form đăng ký tài khoản trong Python bằng PyQT6

Hướng dẫn chi tiết cách tạo form đăng ký tài khoản trong Python sử dụng PyQT6, bao gồm cách thêm các trường nhập liệu và xử lý sự kiện khi người dùng nhấn nút đăng ký.
Xác thực bằng JSON Web Token (JWT) trong Python

Hướng dẫn về cách sử dụng JSON Web Token (JWT) để xác thực trong ứng dụng Python. Bài viết sẽ giới thiệu cách tạo và xác thực token trong một ứng dụng web để bảo vệ API.
Các hàm thường dùng trong thư viện Pandas và cách sử dụng chúng

Bài viết này liệt kê các hàm quan trọng trong thư viện Pandas của Python và cung cấp hướng dẫn cách sử dụng chúng. Đây là một công cụ mạnh mẽ giúp xử lý và phân tích dữ liệu trong Python.
Tạo ứng dụng chat đơn giản sử dụng Socket.IO trong Python

Hướng dẫn chi tiết cách tạo ứng dụng chat đơn giản bằng Python sử dụng Socket.IO và Flask, cho phép người dùng gửi và nhận tin nhắn theo thời gian thực.
Truyền Authentication Header Token khi POST dữ liệu tới API bằng Python

Hướng dẫn cách gửi yêu cầu POST tới API kèm theo Authentication Header Token bằng Python. Phương pháp này được sử dụng để xác thực và bảo mật trong giao tiếp với các API.
Cách chuyển đổi file TensorFlow từ định dạng .pb sang .h5

Hướng dẫn chi tiết cách chuyển đổi mô hình TensorFlow từ định dạng file .pb sang .h5, giúp bạn dễ dàng lưu trữ và tải lại mô hình để sử dụng trong các ứng dụng machine learning.
Hướng dẫn đọc nội dung file Excel bằng Python

Hướng dẫn chi tiết cách đọc nội dung từ file Excel (.xlsx, .xls) bằng Python, sử dụng thư viện openpyxl và pandas với các ví dụ minh họa cụ thể.

Đã thêm vào giỏ hàng