gpt4 book ai didi

node.js - 使用 nano 将二进制附件插入 CouchDB

转载 作者:太空宇宙 更新时间:2023-11-03 23:42:57 24 4
gpt4 key购买 nike

我正在尝试使用 nano 将二进制附件插入到 CouchDB。我在 http.request 返回的 data 中有一个 JPG。

我用nano保存它,如下

db.attachment.insert( id, 'content', self._data, contentType, {rev: rev}, function(err, body) { 
callback();
});

但是当我尝试通过网络浏览器查看它时,图像已损坏。

该文件充满了 UTF-8 转义字符,当我用 CURL 拉取它时可以看到:

$ curl http://127.0.0.1:5984/web-crawler/doc-test.jpg/content
"ÿØÿà\u0000\u0010JFIF\u0000\u0001\u0001\u0001\u0000H\u0000H\u0000\u0000ÿâ\fXICC_PROFILE\u0000\u0001\u0001\u0000\u0000\fHLino\u0002\u0010\u0000\u0000mntrRGB XYZ \u0007Î\u0000\u0002\u0000\t\u0000\u0006\u00001\u0000\u0000acspMSFT\u0000\u0000\u0000\u0000IEC sRGB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000öÖ\u0000\u0001\u0000\u0000\u0000\u0000Ó-HP \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\

内容没有损坏,因为如果我将其保存到文件中,我可以看到图像。

var fs = require('fs');
fs.writeFile('logo.jpg', data, 'binary', function(err){
if (err) throw err
console.log('File saved.')
});

正确的做法是什么?

最佳答案

好的,这个问题可以结束了。我的问题的答案是缓冲区:

db.attachment.insert( id, 'content', new Buffer(self._data, "binary"), contentType, {rev: rev}, function(err, body) { 
callback();
});

关于node.js - 使用 nano 将二进制附件插入 CouchDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19622327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com