Hướng dẫn nodejs upload file - tệp tải lên nodejs
Khi một web client tải một tệp lên máy chủ, nó thường được gửi qua một biểu mẫu và được mã hóa dưới dạng dữ liệu 3. Multer là một middleware cho Express và Nodejs giúp dễ dàng xử lý dữ liệu 3 khi người dùng upload file. Show Trong bài viết này mình sẽ hướng dẫn các bạn sử dụng thư viện Multer để xử lý các tình huống tải file lên khác nhau trong nodejs Cài đặt ProjectChúng ta sẽ dùng Node Express framework cho project này. Tất nhiên các cần phải cài đặt Nodejs. Tạo thư mục cho dự án, điều hướng vào thư mục và 5 để tạo tệp 6 quản lý tất cả các dependencies cho ứng dụng của chúng ta.
Tiếp theo, cài đặt Multer, Express và các dependencies khác cần thiết để khởi động ứng dụng Express.
Tạo một file server.js 7Sau đó trong file server.js, Chúng ta sẽ khởi tạo tất cả các modules, tạo một Express app, và tạo một server để kết nối tới browsers.
Chạy node server.js và điều hướng đến localhost: 3000 trên trình duyệt của bạn sẽ cho bạn thông báo sau. Tạo một Client CodeViệc tiếp theo sẽ là tạo một tệp index.html để viết tất cả code sẽ được cung cấp cho client. 8Tệp này sẽ chứa những form khác nhau mà chúng ta sẽ dùng để upload theo các kiều khác nhau.
Open server.js viết một GET route để render index.html thay cho "WELCOME" message
Multer StorageĐiều tiếp theo sẽ là xác định vị trí lưu trữ cho các tệp của chúng ta. Multer cung cấp tùy chọn lưu trữ tệp vào đĩa, như hình dưới đây. Tại đây, ta thiết lập một thư mục nơi tất cả các tệp của chúng ta sẽ được lưu và chúng ta cũng sẽ cung cấp cho các tệp một số nhận dạng mới.
Xử lý File UploadsXử lý Single FileTrong index.html chúng ta đã xác định một thuộc tính và action thực hiện yêu cầu là POST. Bây giờ chúng ta cần tạo một endpoint trong ứng dụng Express. Mở file server.js và thêm đoạn code sau:
Lưu ý rằng tên của trường file phải giống với đối số 9 được truyền vào hàm 0.Uploading Multiple FilesTải lên nhiều tệp bằng Multer tương tự như tải lên một tệp duy nhất, nhưng có một vài thay đổi. Uploading ImagesThay vì lưu hình ảnh đã tải lên vào hệ thống tệp, chúng ta sẽ lưu trữ chúng trong cơ sở dữ liệu MongoDB để chúng tôi có thể truy xuất chúng sau này khi cần. Nhưng trước tiên, hãy cài đặt MongoDB.
Sau đó, chúng ta sẽ kết nối với MongoDB thông qua phương thức 1 và sau đó thêm URL MongoDB vào phương thức đó.
Mở server.js và xác định một POST request cho phép lưu hình ảnh vào database. 0Trong đoạn mã trên, trước tiên, chúng ta mã hóa hình ảnh thành chuỗi base64, tạo bộ đệm mới từ chuỗi được mã hóa base64, sau đó lưu nó vào bộ sưu tập cơ sở dữ liệu của chúng ta ở định dạng JSON. Sau đó, chúng ta hiển thị thông báo thành công và chuyển hướng người dùng đến index page. Truy xuất hình ảnh đã lưu trữĐể truy xuất các hình ảnh đã lưu trữ, chúng ta thực hiện tìm kiếm MongoDB bằng cách sử dụng phương thức 2 và trả về một mảng kết quả. Sau đó, chúng ta tiếp tục và lấy các thuộc tính 3 của tất cả các hình ảnh và trả lại cho người dùng. 1Vì chúng ta đã biết 4 của hình ảnh, chúng ta có thể xem hình ảnh bằng cách chuyển 4 của nó vào trình duyệt, như minh họa bên dưới. 2Kết luậnMình hy vọng bạn thấy hướng dẫn này hữu ích. Tải lên tệp có thể là một chủ đề đáng sợ, nhưng nó không khó thực hiện. Với Express và Multer, việc xử lý dữ liệu 3 trở nên dễ dàng và đơn giản. |