我正在尝试使用 nano 插入带有多个图像附件的文档。以下测试用例运行没有失败:
var dbName = 'testdb';
var encoding = 'base64';
var fs = require('fs');
var nano = require('nano')('http://localhost:5984');
nano.db.create(dbName);
var db = nano.use(dbName);
var attach1 = {
name: 'image_1',
data: fs.readFileSync('test_image.jpg').toString(encoding),
content_type: 'image/jpeg'
};
var attach2 = {
name: 'image_2',
data: fs.readFileSync('test_image_2.jpg').toString(encoding),
content_type: 'image/jpeg'
};
var doc = {
_id: 'test_id',
html: fs.readFileSync('test_html.html').toString()
};
db.multipart.insert(doc, [attach1, attach2], doc._id, function(err){
if (err)
console.log('failed: ' + err);
else
console.log('succeeded');
});
但是,当我尝试使用蒲团查看图像时,它们似乎损坏了,如果我下载图像并尝试打开它们,我被告知“错误解释 JPEG 图像文件(不是 JPEG 文件:以 0x2f 0x39 开头)” .
这些文件的大小大致正确(在服务器上稍微大一点,但不是很大),所以我猜有一些格式错误。也就是说,我已经尝试将二进制和 utf8 作为编码值,但我不确定还能做什么。