Я загрузил png как приложение к базе данных CouchDb. Когда я смотрю на него через Futon, все нормально, если я пытаюсь вернуть его через колыбель, он поврежден. Я использовал фрагмент из crade-test.js, поставляемого с crade, и немного его изменил:
var response = {};
var streamer = db.getAttachment(data.id,filename);
streamer.addListener('response', function (res) {
response.headers = res.headers;
response.headers.status = res.statusCode;
response.body = "";
});
streamer.addListener('data', function (chunk) { response.body += chunk; });
streamer.addListener('end', function () {
fs.writeFile('new-'+filename, response.body, function (err) {
if (err) throw err;
console.log('It\'s saved!');
});
});
Результатом является поврежденный png, который больше, чем ввод. Я привел рабочий пример здесь: http://jsfiddle.net/x8GZc/