Я нашел удобный способ в своем приложении сохранять небольшие загруженные файлы изображений (png или jpeg) на mongodb без сторонних ресурсов. Полученные документы выглядят так:
{
"_id" : "QuX8YaKmWfmBcEv", "type" : "image/png",
"creator" : "83BEoeKvtYLTcKQtc",
"data" : BinData(0,"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAsSURBVHjaYvz//z8DKYCJgUTAAqE+RjESVMq/7D85NoxqGCkaGGmeWgECDAAufgkbzM8Q4AAAAABJRU5ErkAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAsSURBVHjaYvz//z8DKYCJgUTAAqE+RjESVMq/7D85NoxqGCkaGGmeWgE.... and so on ....")
}
Теперь я пытаюсь отобразить эти изображения через JavaScript, но ничего, что я делаю, кажется, не отображает изображение. Вот пример кода, который я пробовал:
var imageFile = Images.findOne({_id: imageId})
var imageBlob = new Blob([imageFile.file], {
type: imageFile.type
});
var img = new Image();
img.src = URL.createObjectURL(imageBlob);
$("#contents").html('<img src="'+img.src+'">)
Результатом является стандартное изображение «отсутствует изображение».
Странная вещь: я храню / извлекаю / воспроизводю аудиофайлы в том же приложении, но не могу заставить эти изображения работать.