Tag: 缓冲区

Nodejs,将bin文件作为BYTEA存储到pgsql(损坏的文件)

出于某种原因,我需要将一些文件(主要是图像或PDF)存储到我的数据库(PG 9.2.20)。 这些文件是由用户上传,当我下载他们,他们已经损坏。 我在使用nodejs。 我存储文件的列types是BYTEA。 这是我如何存储他们: const { files, fields } = await asyncBusboy(ctx.req); const fileName = files[0].filename; const mimeType = files[0].mimeType; const bufferedFile = fs.readFileSync(files[0].path, { encoding: 'hex' }); const fileData = `\\x${bufferedFile}`; //Just a basic insert into with knex.raw const fileId = await storageModel.create(fields.name, fields.description, fileName, mimeType, fileData, ctx.user); 这就是我如何检索我的文件: const file = […]

Buffer.swap16不是一个函数

我已经在NodeJS中testing了一些缓冲区交换function,但是在我的Meteor项目中它不起作用。 有人可以告诉我原因吗? 的NodeJS: var CRC = new Buffer([0x20,0x40]); console.log(CRC.swap16()); // OUTPUT: <Buffer 40 20> Meteor.js var CRC = new Buffer([0x20,0x40]); console.log(CRC.swap16()); // OUTPUT: TypeError: CRC.swap16 is not a function 有人可以帮我吗? 知道这可能是一个版本问题。 但目前我无法解决这个问题。 有没有办法让这个东西与meteor运行?

Nodejs缓冲区:如何读出位标志?

我正在监听一个TCP套接字上的数据事件。 每个数据事件都为我提供了一个协议帧的缓冲区。 第一个字节作为标题,并包含一些我想访问的标志。 直到那里监听数据事件,并获得第一个字节看起来像: socket.on('data', function(buff) { console.log(buff[0]); // returns 129 }); 如果我现在想检查第一位,那么我必须将129转换为位格式,然后检出第一个数字。 129 => 1000 0001 | 正如我们所知,JavaScript不支持二进制文件。 我现在想知道如果节点缓冲区对象允许我工作位智者,如果是的话,这将是什么样子? 问候

node.js – 将一个字节分成几个比特

我怎样才能从缓冲区中取出一个八位字节并将其转换为二进制序列? 我想通过node.js解码协议rfc1035 ,但发现很难使用位。 这是一个代码,但它不适合我 – 因为它是我的黑盒子: var sliceBits = function(b, off, len) { var s = 7 – (off + len – 1); b = b >>> s; return b & ~(0xff << len); };

在nodejs中使用双引号切分缓冲区时获取额外的字符

我试图裁剪一个JavaScript对象(string)到一个确定的大小(专门为苹果推送通知256最大),但是我刚刚发现,当我的一个variables有一个string包含双引号它得到一个额外的字符混乱限制,在下面的例子中,我复制它有一个30大小的限制 var object = {"hola":"mundo", "data":""} var objectBuffer = new Buffer(JSON.stringify(object)) console.log(objectBuffer.length) // this should be 26 OK var data0 = new Buffer('normal', 'utf-8') console.log(data0.length) // this should be 6 OK var data1 = new Buffer('"normal', 'utf-8') // Note extra double quote (it only happends with double quotes weird characters like ó work ok) console.log(data1.length) […]

缓冲区toString('utf8')从Firebird中select后返回

我正在使用火鸟,我select用户的数据。 它返回我缓冲区对象。 所以在上一个问题中,他们提出这个问题 var name = result[0].name.toString( 'utf8' ); 所以我做了,它的工作,但在一些行中有俄罗斯字符,我不知道什么编码。 而当我显示他们返回 。 如何解决它? 请社区帮助。 谢谢

Buffer.byteLength返回截然不同的字节长度

使用Node.js v5.1.0,我试图确定一个缓冲区的内容长度。 因此,我正在这样做: Buffer.byteLength(self.data, 'utf8') self.data看起来像这样: <Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 01 01 00 f0 00 f0 00 00 ff db 00 43 00 05 03 04 04 04 03 05 04 04 04 05 05 05 06 07 0c 08 07 07 07 07 0f 0b […]

在插入rethinkdb之前,如何使用rediscachingtwitterstream?

我在哪里 我有一个简单的node.js twitterstream消费者跟踪各种井号标签。 通常,这些都是趋势标签,这意味着大量的twitter json正在stream入我的消费者。 我不做在消费者的任何处理的Twitter JSON。 我想要的是 我想在rethinkdb中存储微博json对象。 假设 由于tweets的数量(以及所述卷的不可预测性),我应该避免将tweet json对象插入到rethinkdb中,因为它们被消费(因为tweets进入消费者的速率可能比rethinkdb可以写入的速率更快那些推文)。 由于Redis的处理速度足够快,因此可以将推文json对象直接推送到redis,并让另一个进程将这些推文插入到rethinkdb中。 我希望学习的东西 我的假设是否正确? 这个build筑是否有意义? 如果不是,你能build议一个更好的select吗? 如果我的假设是正确的,这个架构是有意义的, 一个。 使用redis作为推文的缓冲区的最佳方式是什么? 湾 为了在rethinkdb中执行插入操作,读取(和更新/清除)redis缓冲区的最佳方法是什么?

如何在node.js中用分隔符连接缓冲区?

我试图连接两个缓冲区之间的Node.js他们之间的空间。 这是我的代码。 var buff1 = new Buffer("Jumping"); var buff2 = new Buffer("Japang"); var buffSpace = new Buffer(1); buffSpace[0] = "32"; var newBuff = Buffer.concat([buff1, buffSpace, buff2], (buff1.length + buff2.length + buffSpace.length)); console.log(newBuff.toString()); 根据官方文档,第一个参数将是Buffer对象的Array列表。 因此我创build了空间的buffSpace 。 类方法 :Buffer.concat(list [,totalLength]) list :连接缓冲区对象的数组列表 totalLength :Number连接时缓冲区的总长度 我得到了预期的结果,但不确定是否正确。 如果有什么更好的解决scheme,请提出相同的build议。

Node.js如何从MS Sql server数据types的varbinary转换为图像

我访问存储在varbinary列中的图像的第三方数据库。 我正在编写node.js应用程序,以将存储在MS Sql服务器中的varbinary图像恢复为.jpg文件。 当我查询varbinary返回缓冲区,但从缓冲区我不能够恢复图像到.jpg文件。 对于MS Sql服务器访问,我使用https://www.npmjs.com/package/mssql libray。 [更新:] :下面是我试图转换和保存为图像的一些方法。 var decodedImage = new Buffer(varbinaryBufferReturedFromDatabase, 'base64'); var decodedImage = new Buffer(varbinaryBufferReturedFromDatabase, 'hex'); var decodedImage = new Buffer(varbinaryBufferReturedFromDatabase, 'uft8'); var decodedImage = varbinaryBufferReturedFromDatabase.toString('hex'); var decodedImage = varbinaryBufferReturedFromDatabase.toString('base64'); var decodedImage = varbinaryBufferReturedFromDatabase.toString('uft8'); fs.writeFile(__dirname+'/../public/images/img3.jpg', decodedImage, function(err, data){ if (err) throw err; console.log('It\'s saved!'); cb(data); });