Cách làm “upload chunks large video file to nodejs nginx”

Lâu rồi mình chưa viết bài trên blog hôm nay sẽ chia sẽ với anh chi chủ đề  Cách làm “upload chunks large video file to nodejs nginx”

Cách làm "upload chunks large video file to nodejs nginx"
Cách làm “upload chunks large video file to nodejs nginx”

Tại sao upload file lớn lên nó sẽ báo lỗi 413:

Lỗi 413 trong Nginx là “Request Entity Too Large” (Yêu cầu quá lớn). Nó xuất hiện khi Nginx nhận được một yêu cầu HTTP POST hoặc PUT mà kích thước nội dung vượt quá giới hạn mà Nginx được cấu hình để xử lý.

Nguyên nhân phổ biến của lỗi 413 là do giới hạn kích thước của yêu cầu mà Nginx cho phép. Khi Nginx nhận được một yêu cầu POST hoặc PUT, nó cần phải biết trước kích thước của nội dung để xử lý yêu cầu này một cách hiệu quả. Mặc định, Nginx có giới hạn kích thước nội dung cho mỗi yêu cầu, và nếu kích thước nội dung vượt quá giới hạn này, Nginx sẽ trả về lỗi 413.

Giải pháp để upload file lớn

Ý tưởng chúng ta sẽ chia nhỏ nhiều phần ở client sau đó upload từng phần nhỏ lên server, sau đó nối lại. Sau đây tôi xin chia sẽ code để xử lý vấn đề này

Trước hết phải thêm dòng sau vào file cấu hình nginx.conf

Vị trí file này thường là /etc/nginx/nginx.conf

refresh lại cấu hình nginx bằng lênh

Đoạn code xử lý dưới client

Code này là một function trong vuejs 2 nha anh chị, anh chị có thể tham khảo tùy biến qua code của anh chị

Code xử lý ở server node js

sẽ có 2 route để làm việ này: route thứ nhất là apiUrl+ ‘/video/upload-video-chunks’ mình để nhận xử lý upload từng phần và route thứ 2 upload-video-chunks-join-and-convert chúng ta sẽ nối file. Sau đây là code để anh chị tham khảo

Nội dung function uploadVideoChunks

Khi upload ok chúng ta sẽ trả về path và các thông tin liên quan đến folder chứa các từng phần của file lớn

Nội dung function uploadVideoChunksJoinAndConvert

Đây là function thực hiện chức năng nối file lại và trong trường hợp của tôi là file mp4 sau đó convert sang file .m3u8

Code để anh chị tham khảo:

Ok mình đã trình bày bài viết xong

Một số từ khóa tìm kiếm bài viết này trên google:

-upload chunks large video file to nodejs nginx

-upload chunks

-upload file mp4 lên node js và nginx

5/5 (1 Đánh giá)

Gửi Phản Hồi
Chọn đánh giá của bạn
0 Bình Luận
Thông tin người gửi
Anh Chị


có thể bạn cần xem:

Form đăng ký nhận bài mới

Đăng ký nhận bài viết mới

Khi mình đăng bài mới bạn sẽ nhận nó qua Email


Super-flatsome

Hướng dẫn thiết kế theme

Các functions thường dùng

  • Hotline: 0912 889 416

  • Fcwordpress trên facebook Fcwordpress trên Twitter Fcwordpress trên youtube

Mọi sự sao chép xin ghi rõ nguồn là fcwordpress.net

Chuyên trang về wordpress: hướng dẫn thiết kế theme, plugin, thủ thuật wordpress

0912889416