首页 > 解决方案 > 如何从Nodejs接收base64数据并使用jquery显示

问题描述

我在我的数据库中使用图像或其他时间的文件作为 blob。检索到该 blob 后,我将其放入缓冲区并转换为 base64,如下所示:

file = Buffer.from(blob,'binary').toString('base64');
res.send(file)

现在,在我的 jquery 中:

在发布路由被触发后成功时,我想接收文件:

 success: function(data){
        console.log(data)
        console.log('image uploaded and form submitted');     
      }

但是console.log显示整个文件就是这样的: W29iamVjdCBPYmplY3Rd

根据我对缓冲区的理解,它只是一个用于一次传输大量数据的小内存分配。所以我想我只得到第一个缓冲区?如何获得整个缓冲区?

标签: jquerynode.js

解决方案


W29iamVjdCBPYmplY3Rd 是 [object Object] 的 base64

您必须检查blob它实际上是什么,它不是数据字符串,它是一个 javascript 对象,包含数据库的整行或其他东西。

objects.toString() 在传入 buffer.from 时被调用

我建议使用console.log(blob),你会很高兴。


推荐阅读