如何使用 Node JS 从 Cloudant 数据库中检索多部分并另存为 wav 文件



我能够将 wav 文件作为多部分存储在 cloudant 数据库中。这是代码:

var doc = {
_id: timestmp.toString(),
name:  strName
};
var attach = {
name: strName,
data: fs.readFileSync(input),
content_type: mimeType
};
try {
db_data.multipart.insert(doc, [attach], now.toString(), function (err, result) {
if(err){
console.log('Error inserting to STT data table' + err);
response.sendStatus(200);
}
else {
console.log('Inserted to db');
}
});

当我手动从云数据库下载wav文件时,我可以播放该文件。我正在尝试使用 Node js 代码做同样的事情。但是导出到我的系统的 wav 文件无法播放。这是代码:

db_data.multipart.get(doc._id, function (err, buffer) {
var inputWav = "input.wav";
if (!err) {
fs.writeFileSync(inputWav, Buffer.from(buffer), "audio/wav");
}
});

谁能帮忙?基本上,我正在尝试将从 cloudant 数据库返回的缓冲区输出转换为音频/wav 文件哑剧类型。怎么办呢?

最后,我能够从 cloudant 数据库中检索多部分。这是代码:

db_data.attachment.get(doc._id, doc.strName, function(err, body) {
if (!err) {
fs.writeFile('temp.wav', body, function(err) {
if (err) {
console.log("error while writing file!")
}
});
} else {
console.error("error retrieveing the document..", err);
}
});

最新更新