Làm cách nào để tải lên tệp trong MongoDB bằng nút js?
Chào các bạn, hôm nay chúng ta sẽ tìm hiểu cách upload và lưu trữ image mongoDB database. Nó không được khuyến nghị trong các dự án trong thế giới thực để lưu trữ các tệp phương tiện trong cơ sở dữ liệu. Vậy tại sao chúng ta cần học, vì chúng ta là developer mà 😞. Đùa thôi Show
Vì vậy, hãy bắt đầu mã hóa
Tổng quan về ứng dụng Cấu trúc dự án Bảng sau đây hiển thị tổng quan về các API còn lại được xuất MethodsUrlsActionsPOST/file/uploadupload ảnh lên cơ sở dữ liệuGET/file/. filenamestream imageDELETE/file/. filenameXóa hình ảnh khỏi cơ sở dữ liệu Lưu trữ tệp là một tính năng quan trọng cần có trong nhiều quy trình trên nhiều loại ứng dụng khác nhau. Sự tồn tại của các quy trình như Tuy nhiên, khái niệm lưu trữ tệp trực tiếp vào cơ sở dữ liệu thông qua một lệnh gọi API duy nhất đã thu hút tôi trong một thời gian dài. Đó là nơi GridFS xuất hiện trong bức tranh đối với tôi Có lẽ không phải là cách tốt nhất để triển khai hệ thống lưu trữ tệpGridFS - Sự hiểu biết của giáo dânMongoDB có một đặc tả trình điều khiển để tải lên và truy xuất các tệp từ nó được gọi là GridFS. GridFS cho phép bạn lưu trữ và truy xuất các tệp, bao gồm các tệp vượt quá giới hạn kích thước tài liệu BSON là 16 MB GridFS về cơ bản lấy một tệp và chia nó thành nhiều phần được lưu trữ dưới dạng các tài liệu riêng lẻ trong hai bộ sưu tập
Mỗi đoạn được giới hạn ở kích thước 255 KB. Điều này có nghĩa là đoạn cuối cùng thường bằng hoặc nhỏ hơn 255 KB. Nghe khá gọn gàng Khi bạn đọc từ GridFS, trình điều khiển sẽ tập hợp lại tất cả các khối nếu cần. Điều này có nghĩa là bạn có thể đọc các phần của tệp theo phạm vi truy vấn của mình. Chẳng hạn như nghe một đoạn của tệp âm thanh hoặc tìm nạp một đoạn của tệp video. Ghi chú. Nên sử dụng GridFS để lưu trữ các tệp thường vượt quá giới hạn kích thước 16 MB. Đối với các tệp nhỏ hơn, nên sử dụng định dạng BinData để lưu trữ tệp trong các tài liệu đơn lẻ Điều này tóm tắt cách GridFS hoạt động nói chung. Đã đến lúc nhúng chân vào một số mã hoạt động và xem cách triển khai một hệ thống như vậy Nói đủ rồi, cho tôi xem mãChúng tôi đang sử dụng Nút. js có quyền truy cập vào phiên bản đám mây của MongoDB để thiết lập. Bạn có thể tìm thấy kho lưu trữ mã cho ứng dụng mẫu tại đây tarique93102/gridfs-file-storage Đóng góp cho sự phát triển tarique93102/gridfs-file-storage bằng cách tạo một tài khoản trên GitHub tarique93102GitHub Chúng tôi sẽ hoàn toàn tập trung vào các đoạn mã liên quan đến các chức năng của GridFS. Chúng ta sẽ tìm hiểu cách thiết lập và sử dụng nó để lưu trữ tệp, truy xuất tệp hoặc một tệp cụ thể và xóa một tệp cụ thể. Hãy bắt đầu sau đó Khởi tạo công cụ lưu trữCác gói cần thiết để khởi tạo động cơ là Khi công cụ lưu trữ sử dụng GridFS được khởi tạo, bạn chỉ cần gọi nó bằng phần mềm trung gian multer. Sau đó, nó được chuyển đến tuyến tương ứng thực hiện các hoạt động lưu trữ tệp khác nhau Khởi tạo Luồng GridFSChúng tôi khởi tạo luồng GridFS như được thấy trong mã bên dưới. Luồng là cần thiết để đọc các tệp từ cơ sở dữ liệu và cũng để giúp hiển thị hình ảnh cho trình duyệt khi cần Tải lên một tệp hoặc hình ảnhChúng tôi sử dụng lại phần mềm trung gian tải lên mà chúng tôi đã tạo trước đó. Ghi chú. Tên Tải lên nhiều tệp hoặc hình ảnhChúng tôi cũng có thể tải lên nhiều tệp cùng một lúc. Thay vì Ghi chú. Số lượng tệp được tải lên có thể ít hơn số lượng tệp đã xác định Tìm nạp tất cả các tệp từ cơ sở dữ liệuSử dụng luồng được khởi tạo, chúng tôi có thể tìm nạp tất cả các tệp trong cơ sở dữ liệu cụ thể bằng cách sử dụng Tìm nạp một tệp theo tên tệpRất đơn giản để truy vấn GridFS cho một tệp duy nhất dựa trên một thuộc tính cụ thể như Kết xuất một hình ảnh đã tìm nạp vào trình duyệtĐây là phần phức tạp hơn một chút vì bạn không chỉ phải tìm nạp tệp từ cơ sở dữ liệu mà còn phải hiển thị tệp đó dưới dạng hình ảnh trên trình duyệt tương ứng. Chúng tôi tìm nạp tệp bình thường. Không có thay đổi trong quá trình đó Sau đó, với sự trợ giúp của phương thức Xóa một tệp cụ thể theo IdXóa một tập tin cũng đơn giản như nhau. Chúng tôi sử dụng phương pháp luồng Đó là những chức năng chính được cung cấp bởi thiết kế công cụ lưu trữ. Tôi đã tận dụng các tính năng GridFS đã thảo luận để tạo một ứng dụng tải lên hình ảnh đơn giản. Bạn có thể tìm hiểu sâu hơn về mã trong kho lưu trữ Phần kết luậnTôi đã mất một thời gian và khá nhiều nỗ lực để hiểu cách sử dụng GridFS cho một dự án cá nhân. Vì điều này, tôi muốn đảm bảo rằng ít nhất một người khác không phải đầu tư cùng một khoảng thời gian Phải nói rằng, tôi khuyên bạn nên sử dụng GridFS một cách thận trọng. Nó không phải là viên đạn bạc cho tất cả các mối quan tâm về lưu trữ tệp của bạn. Tuy nhiên, đó là một đặc điểm kỹ thuật tiện lợi để biết và nhận thức được. Nếu bạn có bất kỳ câu hỏi hoặc thắc mắc nào, bạn có thể bình luận trong bài đăng hoặc liên hệ với tôi trên Trong thời gian đó, hãy tiếp tục viết mã QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO Tôi viết mã, đọc, viết và chỉ đơn giản là khao khát trở thành một cá nhân tốt hơn tôi ngày hôm nay Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu Làm cách nào để tải tệp lên MongoDB bằng Nodejs?Tải tệp lên trong MongoDB bằng Node js . Bước 1 – Tạo ứng dụng Node Express js Bước 2 – Cài đặt các phụ thuộc Multer của cầy mangut phân tích cú pháp cơ thể nhanh Bước 3 – Kết nối ứng dụng với MongoDB Bước 4 – Tạo mô hình Bước 5 – Tạo biểu mẫu đánh dấu HTML tải lên tệp/hình ảnh Bước 6 – Nhập mô-đun trong ứng dụng. js Bước 7 – Khởi động máy chủ ứng dụng Chúng tôi có thể tải tệp lên trong MongoDB không?MongoDB có một đặc tả trình điều khiển để tải lên và truy xuất các tệp từ nó được gọi là GridFS. GridFS cho phép bạn lưu trữ và truy xuất các tệp, bao gồm các tệp vượt quá giới hạn kích thước tài liệu BSON là 16 MB
Làm cách nào để tải tệp lên trong nodejs?Bước 1. Tạo biểu mẫu tải lên. Tạo một nút. js viết biểu mẫu HTML, với trường tải lên. . Bước 2. Phân tích tệp đã tải lên. Bao gồm mô-đun Formidable để có thể phân tích cú pháp tệp đã tải lên sau khi tệp đến máy chủ. . Bước 3. Lưu các tập tin Làm cách nào để tải lên dữ liệu trong MongoDB?Tóm tắt . Đăng ký tài khoản MongoDB Tạo một cụm Thêm người dùng cơ sở dữ liệu Định cấu hình kết nối mạng Tải dữ liệu mẫu Nhận chuỗi kết nối |