#javascript #angularjs #pouchdb
#javascript #angularjs #pouchdb
Вопрос:
Я использую приведенный ниже код для сохранения изображения в pouchdb, результат.base_64 содержит большой двоичный объект. Когда я проверяю с помощью PouchDB Inspector, размер базы данных отображается как нулевой, а при нажатии на вложение отображается файл, который не найден
var db = new PouchDB('xyz');
db.putAttachment('skul', 'skul', result.base_64, 'image/jpg').then(function() {
return db.get('skul', {
attachments: true
});
}).then(function(doc) {
console.log(doc);
});
попробовал это для получения вложения
db.getAttachment('skul', 'skul' function(err, blob_buffer) {
if (err) {
return console.log(err);
} else {
// console.log(blob_buffer);
var url = URL.createObjectURL(blob_buffer);
var img = document.createElement('img');
img.src = url;
document.body.appendChild(img);
}
})
при этом изображение отображается в браузере, но URL-адрес изображения
src="blob:http://localhost:8000/d1388aaa-f2c8-45ae-af39-e2b384e25c7c"
которое ссылается на сервер, а не на локальный компьютер
Ответ №1:
Вы убедились, что result.base_64
это не пустая строка или что она действительна в base64?
В документах есть живые рабочие примеры, показывающие, как вставлять данные base64. Вы можете запустить эти примеры в своем браузере и убедиться, что они работают. 🙂 https://pouchdb.com/guides/attachments.html
Комментарии:
1. оно не пустое, я сделал это
getAttachment
с идентификатором и именем, я получил изображение, выполнивdocument.body
. Но URL-адрес изображения ссылается на удаленный сервер, а не на локальный компьютер