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

Hướng dẫn chi tiết cách tạo form upload nhiều hình ảnh bằng Java sử dụng Spring Boot và thư viện `Commons FileUpload`. Bài viết bao gồm các bước cài đặt và ví dụ minh họa cụ thể.

Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo form upload nhiều hình ảnh bằng Java với Spring Boot. Chúng ta sẽ sử dụng thư viện Commons FileUpload để xử lý việc tải lên nhiều hình ảnh cùng một lúc.

Mã Java:

1. Thiết lập dự án Spring Boot

  • Tạo một dự án Spring Boot mới và thêm các phụ thuộc sau vào tệp pom.xml:
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.4</version>
    </dependency>
</dependencies>

2. Tạo form HTML để upload nhiều hình ảnh

Tạo một tệp index.html với mã HTML sau:

<!DOCTYPE html>
<html>
<head>
    <title>Upload nhiều hình ảnh</title>
</head>
<body>
    <h1>Upload nhiều hình ảnh</h1>
    <form method="POST" action="/upload" enctype="multipart/form-data">
        <input type="file" name="files" multiple><br><br>
        <input type="submit" value="Upload">
    </form>
</body>
</html>

3. Xử lý yêu cầu upload hình ảnh trong Controller

Tạo một Controller trong Spring Boot để xử lý quá trình upload hình ảnh:

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;

@RestController
public class ImageUploadController {

    @PostMapping("/upload")
    public String uploadMultipleFiles(@RequestParam("files") MultipartFile[] files) {
        StringBuilder message = new StringBuilder("Upload kết quả:<br>");

        for (MultipartFile file : files) {
            try {
                // Lưu mỗi tệp hình ảnh vào thư mục đích
                file.transferTo(new File("uploads/" + file.getOriginalFilename()));
                message.append("Tải lên thành công: ").append(file.getOriginalFilename()).append("<br>");
            } catch (IOException e) {
                message.append("Tải lên thất bại: ").append(file.getOriginalFilename()).append("<br>");
            }
        }

        return message.toString();
    }
}

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

  1. Thêm phụ thuộc (pom.xml): Các thư viện spring-boot-starter-webcommons-fileupload cần thiết để xử lý yêu cầu HTTP và upload tệp.
  2. Tạo form HTML: Sử dụng enctype="multipart/form-data" để hỗ trợ upload nhiều tệp.
  3. Controller:
    • @RestController: Định nghĩa Controller Spring Boot.
    • @PostMapping("/upload"): Định nghĩa phương thức để xử lý POST request từ form upload.
    • MultipartFile[] files: Nhận các tệp được upload từ form.
    • file.transferTo(...): Lưu tệp vào thư mục uploads.

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

  • JDK 8 hoặc cao hơn
  • Spring Boot 2.5 hoặc cao hơn
  • Thư viện commons-fileupload

Cách cài đặt các thư viện:

Các thư viện đã được tự động quản lý bằng Maven. Đảm bảo bạn đã thêm phụ thuộc vào tệp pom.xml.

Lời khuyên:

  • Hãy đảm bảo thư mục uploads tồn tại trong thư mục dự án hoặc tự động tạo nó trước khi lưu tệp.
  • Hạn chế kích thước tệp upload bằng cách thiết lập cấu hình trong Spring Boot.
Tags: Java, Upload


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

Cách DELETE dữ liệu từ database MySQL bằng Java

Hướng dẫn cách sử dụng Prepared Statements trong Java để xóa dữ liệu từ một bảng trong database MySQL một cách an toàn và hiệu quả.
Cách truyền Authentication Header Token khi POST dữ liệu tới API bằng Java

Hướng dẫn cách truyền token xác thực (Authentication Header Token) khi gửi dữ liệu qua phương thức POST tới API bằng ngôn ngữ lập trình Java. Bài viết cung cấp mã Java mẫu và giải thích chi tiết.
Cách ghi nội dung vào file Excel bằng Java

Hướng dẫn cách ghi dữ liệu vào file Excel bằng Java, sử dụng thư viện Apache POI để thao tác với file Excel một cách hiệu quả và đơn giản.
Cách UPDATE dữ liệu trong database MySQL bằng Java

Hướng dẫn cách sử dụng Prepared Statements trong Java để cập nhật dữ liệu trong một bảng của database MySQL một cách an toàn và hiệu quả.
Đọc nội dung Excel bằng Apache POI trong Java

Hướng dẫn chi tiết cách đọc nội dung file Excel trong Java bằng thư viện Apache POI. Bài viết cung cấp đoạn mã mẫu, giải thích chi tiết từng dòng và hướng dẫn cài đặt thư viện cần thiết.
Tạo ứng dụng chat đơn giản sử dụng Socket.IO trong Java

Hướng dẫn chi tiết cách tạo ứng dụng chat đơn giản bằng Java và Socket.IO. Bài viết này sẽ giúp bạn hiểu cách thiết lập server và client để giao tiếp theo thời gian thực.
Danh sách các chức năng thường dùng khi sử dụng Selenium Chrome trong Java

Bài viết này liệt kê các chức năng thường sử dụng trong Selenium với ChromeDriver bằng Java, giúp người dùng nắm bắt nhanh các thao tác cơ bản để tự động hóa trình duyệt.
Cách chuyển đổi chuỗi Markdown sang HTML bằng Java

Hướng dẫn chi tiết cách chuyển đổi một chuỗi Markdown sang HTML trong Java bằng cách sử dụng thư viện `commonmark`.
Cách SELECT dữ liệu từ database MySQL bằng Java

Hướng dẫn cách sử dụng Prepared Statements trong Java để truy vấn dữ liệu từ một bảng trong database MySQL một cách an toàn và hiệu quả.
Xử lý đa luồng trong Java

Hướng dẫn chi tiết cách xử lý đa luồng trong Java, bao gồm việc tạo và quản lý luồng sử dụng `Thread` và `Runnable`, đồng thời giới thiệu cách đồng bộ hóa dữ liệu giữa các luồng.

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