PouchDB - Truy xuất tệp đính kèm

Bạn có thể truy xuất tệp đính kèm từ PouchDB bằng cách sử dụng getAttachment()phương pháp. Phương thức này luôn trả về các đối tượng blob hoặc bộ đệm.

Cú pháp

Sau đây là cú pháp của getAttachment(). Đối với phương pháp này, chúng ta phải chuyển id tài liệu và id tệp đính kèm. Phương thức này cũng chấp nhận một hàm gọi lại tùy chọn.

db.getAttachment( docId, attachmentId, [callback] );

Thí dụ

Sau đây là một ví dụ về việc truy xuất tệp đính kèm của tài liệu được lưu trữ trong PouchDB, sử dụng getAttachment()phương pháp. Sử dụng mã này, chúng tôi đang cố gắng truy xuất tệp đính kèmatt_1.txt từ tài liệu 001.

//Requiring the package
var PouchDB = require('PouchDB');

//Creating the database object
var db = new PouchDB('my_database');

//Retrieving an attachment from a document
db.getAttachment('001', 'att_1.txt', function(err, blob_buffer) {
   if (err) {
      return console.log(err);
   } else {
      console.log(blob_buffer);
   }
});

Lưu đoạn mã trên vào một tệp có tên Retrieve_Attachment.js. Mở dấu nhắc lệnh và thực thi tệp JavaScript bằngnode như hình bên dưới.

C:\PouchDB_Examples >node Retrieve_Attachment.js

Thao tác này truy xuất tệp đính kèm của tài liệu và hiển thị trên bảng điều khiển như hình dưới đây.

<Buffer 00>

Lấy tệp đính kèm từ tài liệu từ xa

Bạn cũng có thể truy xuất phần đính kèm của tài liệu hiện có trong cơ sở dữ liệu được lưu trữ từ xa trên máy chủ (CouchDB).

Để làm như vậy, thay vì tên cơ sở dữ liệu, bạn cần phải chuyển đường dẫn đến cơ sở dữ liệu trong CouchDB, chứa tài liệu sẽ được đọc.

Thí dụ

Giả sử có một cơ sở dữ liệu có tên my_databasetrong máy chủ CouchDB. Sau đó, nếu bạn xác minh danh sách cơ sở dữ liệu trong CouchDB bằng URLhttp://127.0.0.1:5984/_utils/index.html bạn sẽ nhận được ảnh chụp màn hình sau.

Nếu bạn chọn cơ sở dữ liệu có tên my_database, bạn có thể xem nội dung của nó như hình dưới đây.

Giả sử, có một tệp đính kèm trong tài liệu này như hình dưới đây.

Sau đây là một ví dụ về truy xuất tệp đính kèm của tài liệu 001 tồn tại trong cơ sở dữ liệu có tên my_database, được lưu trữ trong máy chủ CouchDB.

//Requiring the package 
var PouchDB = require('PouchDB');

//Creating the database object 
var db = new PouchDB('http://localhost:5984/my_database');

//Retrieving an attachment from a document 
db.getAttachment('001', 'att_1.txt', function(err, blob_buffer) { 
   if (err) { 
      return console.log(err); 
   } else { 
      console.log(blob_buffer); 
   } 
});

Lưu đoạn mã trên vào một tệp có tên Remote_Retrieve_Attachment.js. Mở dấu nhắc lệnh và thực thi tệp JavaScript bằngnode như hình bên dưới.

C:\PouchDB_Examples >node Remote_Retrieve_Attachment.js

Thao tác này lấy tệp đính kèm tài liệu và hiển thị trên bảng điều khiển như hình dưới đây.

<Buffer 00>