请问nodejs 提取sql server 中image字段类型的buffer数据流,并且将其转为图片的办法
发布于 8 年前 作者 xumjs8623 5827 次预览 最后一次回复是 8 年前 来自 问答
公司业务需求,需要去sql server中提取存在里面的图片,并把它保存在本地
数据中的该表结构如图
请问各位大神 有啥好办法么,我直接拿出来去存图片是打不开的。然后怀疑是sqlserver中的编码问题,sqlserver是GBK编码, 但是用iconv去转的时候 提示无效的字符串序列
13 回复
有没有人来帮帮忙,没辙了 给点思路也好
SQL Server 没用过,不过image应该也是binary类型吧,直接读出来不行?binary 又不存在编码问题
可以转成base64
@DevinXian 我代码是这样子的
输出是这样子的
图片就是打不开
😌
@sunkuo base64是不是这样转,在ctx.body中
根据得到的结果中去base64转图片在线工具里 还是显示不了图片
看你打印文件buffer,文件头标志都错了
你可以百度下,对应后缀名的文件头
@mabu233 是的,我用nodejs去取同一张图片打印出来的buffer 和在sql server中的不一样,我一直以为是,在金蝶的k3 wise系统里面上传图片的时候进行了压缩或者其他操作。。 数据库里存储的是这样子的
@mabu233 好的 好的 谢谢哈
说真的,第一次看人把图片存进数据库,现在都应该是直接存CDN再拿到图片链接存数据库的吧 没有cdn,存本地也行啊,存数据库,性能还没本地好,存取还不方便
@zy445566 是的,可能是系统比较老吧,是金蝶的k3 wise。现在需求是工厂里面通过扫描枪扫条形码 要能看到这个产品的物料图片。所以我想着直接用nodejs访问数据库去那数据。。 k3 的二开不会。。
78da 是 zlib算法的文件头
@mabu233 好了,非常非常感谢你!! 这个问题搞了我3天了!