Bạn có thể tải ảnh lên MongoDB không?
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ư Show
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 tarique93102GitHubChú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 hình ảnh đã tải xuống 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 để chèn hình ảnh trong MongoDB?Cách tải lên/lưu trữ hình ảnh trong MongoDB bằng Node. . Thiết lập nút. mô-đun js Tạo Chế độ xem để tải lên hình ảnh Định cấu hình cơ sở dữ liệu MongoDB Tạo phần mềm trung gian để tải lên và lưu trữ hình ảnh Tạo Controller cho view Tạo Trình điều khiển để tải lên Hình ảnh Xác định tuyến đường Tạo máy chủ ứng dụng Express Tôi có thể tải tệp lên MongoDB không?Express là khuôn khổ để tải các tệp lên MongoDB , bodyparser truy xuất nội dung cần thiết từ các biểu mẫu HTML; .
Làm cách nào để lưu trữ tệp phương tiện trong MongoDB?Trong MongoDB, sử dụng GridFS để lưu trữ tệp lớn hơn 16 MB . Trong một số trường hợp, việc lưu trữ các tệp lớn có thể hiệu quả hơn trong cơ sở dữ liệu MongoDB so với trên hệ thống tệp cấp hệ thống. Nếu hệ thống tệp của bạn giới hạn số lượng tệp trong một thư mục, bạn có thể sử dụng GridFS để lưu trữ bao nhiêu tệp tùy ý.
Làm cách nào để tải hình ảnh lên MongoDB bằng Python?Trước hết, hãy nhập thư viện sau đó kết nối với máy chủ để bạn có thể sử dụng MongoDB trong python và để lưu trữ hình ảnh, hãy tạo cơ sở dữ liệu. . Ở phía bên phải của đầu ra, bạn có thể thấy cơ sở dữ liệu Hình ảnh được tạo thành công Trong cơ sở dữ liệu có hai thư mục con có tên là fs. khối và fs. . Hình ảnh của chúng tôi được lưu trữ trong fs |