Articles of 二进制

如何解码“二进制”编码的string到原始二进制缓冲区?

NodeJS的文档强调, binarystring编码是非常不鼓励的,因为它将在未来某个时候被丢弃。 不过,我试图用node-imagemagick模块生成图像缩略图,它只能输出binary编码的string。 我的最终目标是将生成的缩略图作为BLOB提交到SQLite3数据库(我正在使用node-sqlite3 ),所以我想我需要缩略图作为二进制Buffer对象。 如何直接解码node-imagemagick的binary编码输出到一个原始的二进制缓冲区(不只是一个包含binary编码的string的缓冲区)? 我不喜欢使用base64 …

在Node.js上上传二进制文件

我正在使用Flashloggingaudio并将其上传到节点服务器。 Flash客户端是jrecorder的变体。 当用户完成录制时,使用POST请求(不是表单,因为Flash不能创build文件)使用audioByteArray作为POST请求的数据(请参阅此处更多信息 )上传audio。 我能够使用下面的代码在Node-land上正确接收文件,但是出来的audio被破坏,你什么都听不到。 这样说,文件的内容可以播放VLC和其他播放器+ Sox能够编码为MP3。 这是我使用Node时的代码: var express = require('express'); var app = express(); app.use (function(req, res, next) { req.rawBody = ''; req.setEncoding('utf8'); if(req.method.toLowerCase() == "post") { req.on('data', function(chunk) { req.rawBody += chunk }); req.on('end', function() { done(req, res); }); } next(); }); function done(req, res) { fs.writeFile('abc.wav', req.rawBody, 'binary', function(err){ if (err) […]

有没有预编译node.js脚本的方法?

有没有一种方法来预编译node.js脚本并分发二进制文件而不是源文件?

Express – 返回二进制数据

我试图用Express来返回一些二进制数据。 在这个例子中,这是一个PDF,但在理论上,这可以是任何types的文件。 但关注目前的pdf。 我写了这个代码: app.get('*', function (req, res) { getBinaryData(req.url, function (answer) { res.type('pdf'); res.end(new Buffer(answer, 'binary')); }, function (error) { res.setHeader('Content-Type', 'text/plain'); return res.end(error); } ); }); 根据我在这里看到的: https : //github.com/strongloop/express/issues/1555 但是,我得到一个PDF文件的正确数量的页面,正确的标题….但所有的网页是空白的 我确信关心返回的getBinaryData(),因为这个函数问外部Web服务,当我直接问这个服务,我得到正确的文件。 预先感谢您的回答

如何使用socket.io发送二进制数据?

所以我一直在用node.js(Js客户端和Android客户端)中的socket.io发送二进制数据时遇到了麻烦。 没有太多的信息在: http://socket.io/blog/introducing-socket-io-1-0/ http://socket.io/get-started/chat/ 我需要使用socket io发送一个二进制数组,我创build并填充。 他们给出的唯一代码如下: var socket = new WebSocket('ws://localhost'); socket.binaryType = 'arraybuffer'; socket.send(new ArrayBuffer); 我的答案是吼叫。

使用Node.js将二进制数据推送到Amazon S3

我正在尝试使用Node.js将图像上传到Amazon S3存储桶。 最后,我希望能够将图像上传到S3,然后能够访问该S3 URL并在浏览器中查看图像。 我正在使用一个Curl查询来执行一个HTTP POST请求与图像作为正文。 curl -kvX POST –data-binary "@test.jpg" 'http://localhost:3031/upload/image' 然后在Node.js端,我这样做: exports.pushImage = function(req, res) { var image = new Buffer(req.body); var s3bucket = new AWS.S3(); s3bucket.createBucket(function() { var params = {Bucket: 'My/bucket', Key: 'test.jpg', Body: image}; // Put the object into the bucket. s3bucket.putObject(params, function(err) { if (err) { res.writeHead(403, {'Content-Type':'text/plain'}); res.write("Error […]

NodeJS将二进制缓冲区写入文件

我无法重写从二进制缓冲区获取的文件,我检查了原始文件,所有字节都是相同的。 这是从NodeJS创build的文件: # hd test.txt | head 00000000 47 49 46 38 39 61 32 00 32 00 f7 00 00 96 8c 73 |GIF89a2.2. ….s| 00000010 66 5e 45 c6 bb 9f 7b 72 5a 47 47 47 8a 81 65 ca |f^Eƻ.{rZGGG..e | 00000020 c1 a6 c9 c1 ac ee ea dd c8 […]

用Node.js检查文件是二进制文件还是ASCII文件?

我想知道什么是最好的方法来检查一个文件是二进制还是ASCII与Node.js? 似乎有两种不是特定于node.js的方式: 检查MIMEtypes: 如何在PHP中检查文件是ASCII还是二进制文件 – 但是这样做有问题,因为例如预处理器通常没有识别的MIMEtypes,并且在检查时使用application/octet-stream 哑剧 通过使用stream缓冲区检查字节大小,以及如何将文件内容标识为ASCII或二进制文件 – 这似乎相当密集,并且还提供了一个node.js示例。 那么还有另一种方法吗? 也许是一个秘密的node.js调用或模块,我不知道? 或者如果我自己要这样做,会有什么build议? 谢谢

使用http.request获取node.js中的二进制内容

我想从https请求中检索二进制数据。 我发现一个类似的问题 ,使用请求方法, 获取二进制内容在Node.js使用请求 ,是说设置编码为空应该工作,但它不。 options = { hostname: urloptions.hostname, path: urloptions.path, method: 'GET', rejectUnauthorized: false, encoding: null }; req = https.request(options, function(res) { var data; data = ""; res.on('data', function(chunk) { return data += chunk; }); res.on('end', function() { return loadFile(data); }); res.on('error', function(err) { console.log("Error during HTTP request"); console.log(err.message); }); }) 编辑:设置编码为“二进制”也不起作用

将二进制NodeJS缓冲区转换为JavaScript ArrayBuffer

如何将一个NodeJS二进制缓冲区转换为JavaScript ArrayBuffer?