gpt4 book ai didi

javascript - 在 Node 中使用 'request' 从 URL 下载图像作为缓冲区,然后作为 varbinary(max) 插入到 SQL 数据库中

转载 作者:行者123 更新时间:2023-11-30 06:17:00 25 4
gpt4 key购买 nike

我正在使用 google/facebook/ms Oauth 对用户进行身份验证,然后给他们一个刷新 token 。然后,我使用这个长期存在的刷新 token 来请求短期访问 token 。

我遇到的问题是我的应用程序使用社交个人资料的照片显示在前端,但 URL 将在社交 token 过期后停止工作。

我正在尝试将用户的个人资料照片作为 varbinary(max) 保存到 MSSQL DB,然后使用访问 token 将其返回到前端。

到目前为止,这是我的代码:

但我不确定如何从缓冲区而不是 base64 字符串中获取二进制文件?

      request.get(
{ url: req.user._json.picture, encoding: null },
function(err, res, buffer) {
res.on('close', () => {
theRes.send(buffer.toString('base64'));
return buffer.toString('base64');

knex('USERS')
.update({ photo: photo })
.where({ id: req.user.dbUserID })
.then(() => {
console.log('PHOTO UPDATED');
console.log(res);
console.log(photo);
})
.catch(err => {
console.log('ERROR ADDING PHOTO TO DATABASE');
console.log(err);
});
});
});
}
);

编辑:这与从异步调用返回响应的方式不同,我知道该怎么做,而且我已经在代码示例中这样做了,你到底为什么要把它标记为那个的副本? ??

最佳答案

它可以存储为 base64 字符串,因为它更容易处理,但最后我只是深入研究并实现了 blob 存储,因为在其中存储实际文件来占用生产数据库绝不是一个好主意。

关于javascript - 在 Node 中使用 'request' 从 URL 下载图像作为缓冲区,然后作为 varbinary(max) 插入到 SQL 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55534442/

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