Tag: base64

Node.js不能parsing来自base64解码的JSONstring

我有一个string,我想解码成json。 该string最初是base64。 当我尝试解码成杰森我得到下面的错误。 var query_string = new Buffer(bid, 'base64').toString('ascii'); console.log(query_string); var q = JSON.parse(query_string); {'avid': 'info@tssf.co.jp', 'crid': '20767073515', 'mabid': {'node': None, 'hod': '13', 'cid': '36', 'industry': None, 'ex': '1', 'vid1': '29', 'dow': '3'}, 'prid': {'hod': '13', 'woy': '18', 'cid': '36', 'dow': '3', 'ssp': 'adx', 'st': None, 'bt': 'firefox', 'cty': 'tokyo', 'ex': '1', 'vid2': '222', 'dt': […]

如何在Node.js中将base64解码为图像文件?

我知道这个问题被问了几次,但不幸的是,似乎没有任何工作对我来说。 我张贴img的src到我的节点/快递。 它看起来像这样: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JF … UUUUAFFFFAH/2Q== 数据保存在图片中。 我裁剪的数据:图像的东西,并得到了原始的base64和文件types。 var result = { "type":"", "data":"" } var matches = picture.match(/^data:image\/([A-Za-z-+\/]+);base64,(.+)$/),response = {}; result.type = matches[1]; result.data = new Buffer(matches[2], 'base64'); require('fs').writeFile(mediaFolder+'/test.'+result.type, result.data, "binary", function(err){ res.status(500).send("error"); }); res.status(200).send("success"); 当我尝试打开保存的图像时,会说:损坏或太大。 我也尝试在writeFile方法中设置“binary”参数。 客户端总是获得200 http状态。 我不知道这有什么问题。 我用在线解码器检查了原始的base64string。 它工作完美。 我logging每一个string/比赛,一切看起来对我来说没问题。 任何帮助将很好解决这个问题。 提前致谢! 编辑: 这是我发送图片的方式: var base64Image = $('#show-picture').attr('src'); xmlhttp.open("POST","/webapp-ajax",true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send("picture="+base64Image);

使用Node.js将一个base64映像从IOS上传到S3

我有以下代码,使用node.js将图像从ios设备上传到AWS S3: var buf = new Buffer(req.body.image.replace(/^data:image\/\w+;base64,/, ""),'base64') var s3bucket = new AWS.S3({params: {Bucket: 'forplay-static', Key: 'test.png'}}); s3bucket.putObject(buf, function(err, data) { if (err) { return res.send({ success: false, err: err }); } else { return res.send({ success: true }); } }); 我发布的图片是: http : //pastebin.com/kcmXJbRd 这将在err中返回以下错误: { "code": "UnexpectedParameter", "name": "UnexpectedParameter" } 上传一个base64镜像到S3的正确方法是什么?

Socket.io / Node.js:来自客户端的套接字连接上的“值超出范围”

我正在使用ARMv5TE处理器上的busybox linux上运行nodejs / socket.io / express。 我有nodejs启动并运行,下面的代码运行没有错误。 var app = require('express')(); var server = require('http').Server(app); var io = require('socket.io')(server); server.listen(80); app.get('/', function (req, res) { res.sendfile(__dirname + '/index.html'); }); io.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); }); 直到我尝试通过websocket从客户端连接。 从浏览器(加载客户端脚本socket.io.js ), var socket = io.connect('ws://192.168.1.8:3000'); 或者var […]

用Node.js发布照片给Tumblr

我试图通过Node.js Tumblr.js发布一个canvas生成的图像(如“数据:图像/ PNG; base64,iVBORw0KGgoAAAANSUh …”),但我真的很难。 我在Tumblr上注册了我的应用程序,我有我的tumblrConsumerKey,我的tumblrConsumerSecret,我设法让Oauth工作,没有问题发表文章post。 我的代码工作得很好,但是当我尝试发布图片时,一切都崩溃了。 API文档说,我可以发布数据方法,图像应该是一个数组(URL编码的二进制内容) 。 一开始我以为我的“data:image / png; base64 …”可以正常工作,但是没有。 然后,我尝试对URI进行编码,然后对其进行URI编码并进行二进制转换。 都没有工作。 然后,我发现一个人经历了专门为Tumblr 写了一个js转换器的麻烦,但它也不起作用。 而现在我真的陷入了困境,我已经有了如何转换我的形象,使其工作的ZERO想法。 这里有人能帮我解决问题吗?还是指出我的方向是正确的? 这是我的代码: var express = require('express'); var oauth = require('oauth'); var http = require('http'); var tumblr = require('tumblr.js'); var app = express(); app.set('port', process.env.PORT || 3000); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.errorHandler()); /** * These four variables will […]

使用Ruby从Mongodb读取二进制数据

我有一个MEAN.JS应用程序,它使用下面这段代码将二进制数据写入一个Mongodb(db版本v2.6.5): UserSchema.pre('save', function(next) { if (this.password) { this.salt = new Buffer(crypto.randomBytes(16).toString('base64'), 'base64'); this.password = this.hashPassword(this.password); } next(); }) 尝试从ruby(v 2.1.5与mongo v1.11.1)读取这个二进制数据我有一个base64解码错误: 2.1.5 :001 > Base64.strict_decode64(salt) `unpack': invalid base64 (ArgumentError) 试图在二进制模式下解压salt会导致错误的数据: [239, 191, 189, 239, 191, 189, 90, 239, 191, 189, 46, 120, 8, 239, 191, 189, 45, 239, 191, 189, 20, 221, 150, 239, 191, […]

不能上传base 64到imgur

up: function(req, res) { console.log(req.param('image')); imgurwrap.setClientID('myImgurClientID') imgurwrap.uploadImageBase64({ image: req.param('image'), title: 'sfdsf', description: 'sfsdf' }, function(err, res) { console.log(res); console.log(err); }); }, 这个代码返回一个像这样的空图像的URL: http : //i.imgur.com/1cmilFL.png 。 但是,如果我声明一个variables,并把我的编码base64string,它的作品。 所以我想在请求中有一些数据,但差异显示没有区别。 我已经尝试了其他npm imgur模块,它始终是相同的行为,所以必须在我身边的东西,但我无法弄清楚..

跨语言HMAC / SHA256 / Base64的问题

我正在使用node.js脚本为azure documentDB创build一个签名 – 简化版本是(结果在底部): – var crypto = require("crypto"); var masterKey = "ABCDE" var key = new Buffer(masterKey, "base64"); var signature = crypto.createHmac("sha256", key).update("FGHIJ").digest("base64"); console.log("\n\n"+signature) // RNkID54/1h1H9p3NWPeRA0mOW2L0c0HUJGTTY2GPbDo= 这工作,并做我需要的。 我试图用CommonCrypto在Swift中做同样的事情 let keyString = "ABCDE" let body = "FGHIJ" let utf8data = keyString.dataUsingEncoding(NSUTF8StringEncoding) let key = utf8data!.base64EncodedDataWithOptions(NSDataBase64EncodingOptions(rawValue: 0)) let str = body.cStringUsingEncoding(NSUTF8StringEncoding) let strLen = body.lengthOfBytesUsingEncoding(NSUTF8StringEncoding) let […]

最好在nodejs请求中发送base64编码的JSON

我有一些base64编码的JSON,例如: eyJiYXIiOiJibGFuIn0= (这只是{"bar": "blan"} 。 我正在使用axios做一个http请求,虽然我愿意使用另一个库或http如果需要的话。 我希望能够以尽可能less的步骤/尽可能有效地将数据作为JSONstring传输。 目前我做: axios({ url, method: "POST", data: new Buffer(data, "base64").toString(), headers: { "Content-type": "application/json", }, }) 但是,这将整个string从缓冲区读入内存,所以我想知道是否有更好的方法。 如果我不使用toString它不起作用,并在服务器上的JSONparsing器响应: Unexpected token ' 。 有没有更好的方式来传输base64编码的string的数据?

Node.js:不同的缓冲区输出

我已经使用缓冲区解码base64编码的string,现在我已经注意到一些有趣的事情: 这工作正常,输出解码的string为utf8 decoded = new Buffer(data.content, 'base64') console.log('Decoded:' + decoded); // outputs content of a markdown file 但是,这会输出hex字符: decoded = new Buffer(data.content, 'base64') console.log(decoded); // outputs<Buffer 23 20 33 30 32 34 20 66 …> 为什么这个或我做错了什么? 不应该输出相同吗?