0
我有一個關於緩衝區類型的問題。我是NodeJ中的新成員,我需要幫助才能瞭解緩衝區類型如何工作。讓我們來舉例:NodeJS類型緩衝區不一致性
我在架構「用戶」有場「圖片」。
var UserSchema = new mongoose.Schema({
name: String,
picture: { type: Buffer, contentType: String}
});
此外,我有一個端點來獲取信息。這很簡單:
User.findById(req.params.id, function (err, u) {
res.send(u);
});
在這一點上沒有問題。 但是我在這個迴應中面臨着不一致。
案例01(res.send(U)): 當我有我所有的文件在我的響應緩衝器字段是類似的東西:
{
"name": "aaa",
"picture": {
"type": "Buffer",
"data": [100,97,116,97,58,105,...]
}
}
案例02(res.send( u.picture)): 當我只有圖片領域,我的回答是這樣的事情:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAADAFBMVEUODAkjCgYbGBQTJwZFEBIuHBZjDw8ZLkUyKCNFJRonOA1cIglNLBYgN1QiQCSDExlWJi+pAw4+NDJrICxkKg8zRBNKOCFbMSo1RDrEAxRvLxFVOiNnMh6ZGCEpRWo8TB5fPRF1MhOELQpMQEBBUA1BQVxfOjJ6KUpZQighV088TEF6NhdYQT1qPCvDFCFFVSO1GyhLTzeKK06COhkrWGdEU0hZSkYhY1pBT3NuShdiSEGaLjh8QCxBWz0XaWYRX61wSDAwbRxNXCzrDCpVVzZBYy6LQR62KDFqR1ufOxBTV0hiT0tySj9LXFFbVFc3XYyZNV1IWYBXZxKFSjZpVk3FLDiWSSR7VjFmWlZUajdhYU...
我的問題是:爲什麼發生以及如何使有迴應如下?
{
"name": "aaa",
"picture: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAADAFBMVEUODAkjCgYbGBQTJwZFEBIuHBZjDw8ZLkUyKCNFJRonOA1cIglNLBYgN1QiQCSDExlWJi+pAw4+NDJrICxkKg8zRBNKOCFbMSo1RDrEAxRvLxFVOiNnMh6ZGCEpRWo8TB5fPRF1MhOELQpMQEBBUA1BQVxfOjJ6KUpZQighV088TEF6NhdYQT1qPCvDFCFFVSO1GyhLTzeKK06COhkrWGdEU0hZSkYhY1pBT3NuShdiSEGaLjh8QCxBWz0XaWYRX61wSDAwbRxNXCzrDCpVVzZBYy6LQR62KDFqR1ufOxBTV0hiT0tySj9LXFFbVFc3XYyZNV1IWYBXZxKFSjZpVk3FLDiWSSR7VjFmWlZUajdhYU..."
}
詳細信息:我用快速使用貓鼬。
感謝@AlexandruOlaru爲乾淨的答案。但是我怎麼能同時擁有兩個? 我想的名字和picture.toString()在相同的反應 –
@brunnogrillo更新我的回答 –
遺憾的是它不工作。我甚至試過這樣:u.picture =新的緩衝區(u.picture「的base64」)的toString(「二進制」)沒有成功 –