- Популярные видео
- Авто
- Видео-блоги
- ДТП, аварии
- Для маленьких
- Еда, напитки
- Животные
- Закон и право
- Знаменитости
- Игры
- Искусство
- Комедии
- Красота, мода
- Кулинария, рецепты
- Люди
- Мото
- Музыка
- Мультфильмы
- Наука, технологии
- Новости
- Образование
- Политика
- Праздники
- Приколы
- Природа
- Происшествия
- Путешествия
- Развлечения
- Ржач
- Семья
- Сериалы
- Спорт
- Стиль жизни
- ТВ передачи
- Танцы
- Технологии
- Товары
- Ужасы
- Фильмы
- Шоу-бизнес
- Юмор
RESTful API Golang Gin #20: Upload Multiple Files (Nhiều File Cùng Lúc) - Xử Lý Lỗi File Thông Minh!
🔥 Chào mừng bạn đến với series khóa học "Lập trình RESTful API với Gin Framework của Golang" cùng giảng viên Vũ Quốc Tuấn! Sau khi đã làm chủ việc upload và validate từng file, giờ là lúc chúng ta xử lý một kịch bản phức tạp hơn: upload nhiều file cùng lúc!
Bạn đã bao giờ cần cho phép người dùng upload một loạt ảnh hoặc tài liệu trong một lần request chưa? Làm thế nào để Gin xử lý việc này? Và quan trọng hơn, nếu một trong số các file đó bị lỗi (sai định dạng, quá dung lượng), làm sao để hệ thống vẫn xử lý các file hợp lệ và thông báo lỗi cho từng file một cách rõ ràng?
Trong video này, chúng ta sẽ giải quyết bài toán upload multiple files (nhiều file cùng lúc) trong Gin Framework. Giảng viên Vũ Quốc Tuấn sẽ hướng dẫn bạn cách lấy danh sách các file từ request, lặp qua từng file để validate và lưu trữ, đồng thời xây dựng một cơ chế trả về response thông minh, cho biết file nào thành công, file nào thất bại và lý do.
📌 Nội dung chính của bài học này:
✅ Nhắc lại về việc upload và validate file đơn lẻ từ bài trước.
✅ Mục tiêu: Xây dựng API cho phép upload nhiều file hình ảnh cùng lúc.
✅ Lấy danh sách các file từ form-data:
✅ Sử dụng c.MultipartForm() để lấy toàn bộ dữ liệu từ form.
✅ Truy cập danh sách file bằng form.File["field_name_of_files"] (ví dụ: form.File["images"]).
✅ Kết quả trả về là một slice của []*multipart.FileHeader.
✅ Xử lý từng file trong danh sách:
✅ Lặp qua slice []*multipart.FileHeader.
✅ Với mỗi fileHeader, gọi lại hàm ValidateAndSaveFile đã tạo ở bài trước để thực hiện:
✅ Validate dung lượng file.
✅ Validate loại file (extension và MIME type).
✅ Đổi tên file để tránh trùng lặp.
✅ Lưu file lên server.
✅ Xây dựng Response thông minh cho việc upload nhiều file:
✅ Tạo hai slice: một để lưu tên các file upload thành công (successFiles) và một để lưu thông tin các file lỗi (failedFiles).
✅ Slice failedFiles sẽ chứa các object/map, mỗi object bao gồm fileName (tên file gốc) và error (lý do lỗi).
✅ Nếu có bất kỳ file nào lỗi, response sẽ bao gồm cả danh sách file thành công và danh sách file lỗi.
✅ Nếu tất cả file đều thành công, chỉ trả về danh sách file thành công.
✅ Sử dụng continue trong vòng lặp để bỏ qua việc lưu file nếu có lỗi validation, nhưng vẫn ghi nhận lỗi.
✅ Cấu trúc lại code trong handler:
✅ Tạo một struct hoặc map response để chứa các thông tin trả về (message, title, status, successFiles, failedFiles).
✅ Điều chỉnh message trả về tùy thuộc vào việc có file lỗi hay không.
✅ Demo với Postman:
✅ Upload nhiều file hợp lệ.
✅ Upload hỗn hợp file hợp lệ và file lỗi (sai định dạng, quá dung lượng).
✅ Kiểm tra response trả về và các file đã được lưu trên server.
Kỹ năng xử lý upload nhiều file một cách hiệu quả và thông báo lỗi chi tiết là rất quan trọng trong các ứng dụng thực tế, giúp cải thiện trải nghiệm người dùng và dễ dàng gỡ lỗi.
🔔 Đừng quên:
🚀 Theo dõi toàn bộ khóa học tại đây: https://www.youtube.com/playlist?list=PLTasIXUHepx1hPkFeN9OXa2bcuILAqiJM
👍 Nhấn LIKE video này nếu bạn thấy hữu ích.
🎯 SUBSCRIBE (Đăng ký) kênh và bật chuông thông báo để nhận được những bài học mới nhất về lập trình Golang, Gin Framework và RESTful API.
📩 Tham gia nhóm học tập: https://discord.gg/qpR8TydEyF
📚 Tài liệu & Source code: https://github.com/quoctuan9901/khoa-hoc-lap-trinh-restful-api-voi-gin-framework
⏰ Timestamps:
00:00 - Giới thiệu bài học: Upload Multiple Files
00:33 - Vấn đề cần giải quyết: Upload nhiều file và xử lý lỗi từng file
00:42 - Tạo route và handler mới cho upload multiple files (ví dụ: /news/upload-multiple-files)
01:38 - Lấy dữ liệu từ c.MultipartForm()
02:06 - Lấy danh sách files từ form.File["images"]
02:52 - Kiểm tra nếu không có file nào được gửi (len(images) == 0)
03:20 - Lặp qua danh sách []*multipart.FileHeader
03:55 - Gọi hàm util.ValidateAndSaveFile() cho từng file
04:31 - Tạo slice successFiles và failedFiles để lưu kết quả
04:40 - Nếu ValidateAndSaveFile thành công, thêm tên file vào successFiles
08:04 - Nếu ValidateAndSaveFile có lỗi, tạo map chứa fileName và error, thêm vào failedFiles, sau đó continue
09:23 - Xây dựng cấu trúc response (sử dụng gin.H)
10:19 - Logic hiển thị failedFiles trong response chỉ khi có lỗi
11:15 - Test với Postman: Upload nhiều file thành công
11:52 - Test với Postman: Upload hỗn hợp file thành công và file lỗi (sai MIME type)
12:15 - Kiểm tra response và các file trên server
12:48 - Chỉnh sửa logic message trong response khi có lỗi
13:19 - Tổng kết bài học và các kỹ thuật đã sử dụng
13:35 - Lời kết và kêu gọi hành động
Cảm ơn các bạn đã theo dõi! Việc xử lý upload nhiều file đòi hỏi sự cẩn thận trong việc lặp và quản lý lỗi. Với kiến thức từ bài này, bạn đã có thể xây dựng chức năng upload file mạnh mẽ và linh hoạt hơn rất nhiều. Hẹn gặp lại trong các bài học tiếp theo!
🔖 Tags:
#UploadMultipleFiles #GinFramework #GoFileUpload #MultipleFileValidation #RESTfulAPI #Golang #GoGin #HocLapTrinhAPI #LapTrinhAPI #KhoaHocLapTrinh #BatchFileUpload #APIErrorHandling #GoLangTutorial #WebDevelopmentGo #GinFileUpload \#BackendDevelopment
Видео RESTful API Golang Gin #20: Upload Multiple Files (Nhiều File Cùng Lúc) - Xử Lý Lỗi File Thông Minh! канала Code With Tuan
Bạn đã bao giờ cần cho phép người dùng upload một loạt ảnh hoặc tài liệu trong một lần request chưa? Làm thế nào để Gin xử lý việc này? Và quan trọng hơn, nếu một trong số các file đó bị lỗi (sai định dạng, quá dung lượng), làm sao để hệ thống vẫn xử lý các file hợp lệ và thông báo lỗi cho từng file một cách rõ ràng?
Trong video này, chúng ta sẽ giải quyết bài toán upload multiple files (nhiều file cùng lúc) trong Gin Framework. Giảng viên Vũ Quốc Tuấn sẽ hướng dẫn bạn cách lấy danh sách các file từ request, lặp qua từng file để validate và lưu trữ, đồng thời xây dựng một cơ chế trả về response thông minh, cho biết file nào thành công, file nào thất bại và lý do.
📌 Nội dung chính của bài học này:
✅ Nhắc lại về việc upload và validate file đơn lẻ từ bài trước.
✅ Mục tiêu: Xây dựng API cho phép upload nhiều file hình ảnh cùng lúc.
✅ Lấy danh sách các file từ form-data:
✅ Sử dụng c.MultipartForm() để lấy toàn bộ dữ liệu từ form.
✅ Truy cập danh sách file bằng form.File["field_name_of_files"] (ví dụ: form.File["images"]).
✅ Kết quả trả về là một slice của []*multipart.FileHeader.
✅ Xử lý từng file trong danh sách:
✅ Lặp qua slice []*multipart.FileHeader.
✅ Với mỗi fileHeader, gọi lại hàm ValidateAndSaveFile đã tạo ở bài trước để thực hiện:
✅ Validate dung lượng file.
✅ Validate loại file (extension và MIME type).
✅ Đổi tên file để tránh trùng lặp.
✅ Lưu file lên server.
✅ Xây dựng Response thông minh cho việc upload nhiều file:
✅ Tạo hai slice: một để lưu tên các file upload thành công (successFiles) và một để lưu thông tin các file lỗi (failedFiles).
✅ Slice failedFiles sẽ chứa các object/map, mỗi object bao gồm fileName (tên file gốc) và error (lý do lỗi).
✅ Nếu có bất kỳ file nào lỗi, response sẽ bao gồm cả danh sách file thành công và danh sách file lỗi.
✅ Nếu tất cả file đều thành công, chỉ trả về danh sách file thành công.
✅ Sử dụng continue trong vòng lặp để bỏ qua việc lưu file nếu có lỗi validation, nhưng vẫn ghi nhận lỗi.
✅ Cấu trúc lại code trong handler:
✅ Tạo một struct hoặc map response để chứa các thông tin trả về (message, title, status, successFiles, failedFiles).
✅ Điều chỉnh message trả về tùy thuộc vào việc có file lỗi hay không.
✅ Demo với Postman:
✅ Upload nhiều file hợp lệ.
✅ Upload hỗn hợp file hợp lệ và file lỗi (sai định dạng, quá dung lượng).
✅ Kiểm tra response trả về và các file đã được lưu trên server.
Kỹ năng xử lý upload nhiều file một cách hiệu quả và thông báo lỗi chi tiết là rất quan trọng trong các ứng dụng thực tế, giúp cải thiện trải nghiệm người dùng và dễ dàng gỡ lỗi.
🔔 Đừng quên:
🚀 Theo dõi toàn bộ khóa học tại đây: https://www.youtube.com/playlist?list=PLTasIXUHepx1hPkFeN9OXa2bcuILAqiJM
👍 Nhấn LIKE video này nếu bạn thấy hữu ích.
🎯 SUBSCRIBE (Đăng ký) kênh và bật chuông thông báo để nhận được những bài học mới nhất về lập trình Golang, Gin Framework và RESTful API.
📩 Tham gia nhóm học tập: https://discord.gg/qpR8TydEyF
📚 Tài liệu & Source code: https://github.com/quoctuan9901/khoa-hoc-lap-trinh-restful-api-voi-gin-framework
⏰ Timestamps:
00:00 - Giới thiệu bài học: Upload Multiple Files
00:33 - Vấn đề cần giải quyết: Upload nhiều file và xử lý lỗi từng file
00:42 - Tạo route và handler mới cho upload multiple files (ví dụ: /news/upload-multiple-files)
01:38 - Lấy dữ liệu từ c.MultipartForm()
02:06 - Lấy danh sách files từ form.File["images"]
02:52 - Kiểm tra nếu không có file nào được gửi (len(images) == 0)
03:20 - Lặp qua danh sách []*multipart.FileHeader
03:55 - Gọi hàm util.ValidateAndSaveFile() cho từng file
04:31 - Tạo slice successFiles và failedFiles để lưu kết quả
04:40 - Nếu ValidateAndSaveFile thành công, thêm tên file vào successFiles
08:04 - Nếu ValidateAndSaveFile có lỗi, tạo map chứa fileName và error, thêm vào failedFiles, sau đó continue
09:23 - Xây dựng cấu trúc response (sử dụng gin.H)
10:19 - Logic hiển thị failedFiles trong response chỉ khi có lỗi
11:15 - Test với Postman: Upload nhiều file thành công
11:52 - Test với Postman: Upload hỗn hợp file thành công và file lỗi (sai MIME type)
12:15 - Kiểm tra response và các file trên server
12:48 - Chỉnh sửa logic message trong response khi có lỗi
13:19 - Tổng kết bài học và các kỹ thuật đã sử dụng
13:35 - Lời kết và kêu gọi hành động
Cảm ơn các bạn đã theo dõi! Việc xử lý upload nhiều file đòi hỏi sự cẩn thận trong việc lặp và quản lý lỗi. Với kiến thức từ bài này, bạn đã có thể xây dựng chức năng upload file mạnh mẽ và linh hoạt hơn rất nhiều. Hẹn gặp lại trong các bài học tiếp theo!
🔖 Tags:
#UploadMultipleFiles #GinFramework #GoFileUpload #MultipleFileValidation #RESTfulAPI #Golang #GoGin #HocLapTrinhAPI #LapTrinhAPI #KhoaHocLapTrinh #BatchFileUpload #APIErrorHandling #GoLangTutorial #WebDevelopmentGo #GinFileUpload \#BackendDevelopment
Видео RESTful API Golang Gin #20: Upload Multiple Files (Nhiều File Cùng Lúc) - Xử Lý Lỗi File Thông Minh! канала Code With Tuan
Комментарии отсутствуют
Информация о видео
8 июня 2025 г. 8:00:36
00:13:52
Другие видео канала




















