gpt4 book ai didi

node.js - 如何从我的 Express API 中的 mysql blob 字段的缓冲区返回字符串?

转载 作者:搜寻专家 更新时间:2023-10-31 23:32:56 26 4
gpt4 key购买 nike

我正在 Express 上构建一个 restful API 并使用 Sequelize。我的 mysql 表中有一个 Blob 字段,但在 get 响应中它返回一个 Buffer 对象。我应该如何返回任何响应数据的 Buffer 对象属性的字符串值?

我将使用 PHP 使用此 API,但我正在使用 Postman 对其进行测试。

这是我的模型定义:

module.exports = function (sequelize, DataTypes) {
return sequelize.define('submissions', {
comments: {
type: DataTypes.BLOB,
allowNull: true,
defaultValue: ''
},
// Other fields...
}, {tableName: 'submission', timestamps: false});
};

这是我的其中一条路线的示例:

router.get('/:model', function(req, res) {
var where = req.query;
models[req.params.model].findAll({ where: where}).then(function(results){
var status = models.utils._.isNull(results) ? 404 : 200;
res.status(status).json(results);
});
});

最佳答案

如果您的 blob 数据被编码为 utf8 字符串,您可以简单地这样做:

buffer.toString('utf8')

但是如果您要返回字符串数据,我想知道您为什么不简单地将字段存储为 Sequelize.STRING。如果 comments 是结构化数据,您可以考虑定义一个单独的 Comment 模型。如果您使用的是 Postgres,您还可以选择将 comments 定义为 arrayjson .

关于node.js - 如何从我的 Express API 中的 mysql blob 字段的缓冲区返回字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29585061/

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