node.js - nodejs 如何将请求的图片转Base64
PHP中文网
PHP中文网 2017-04-17 13:13:25
[Node.js讨论组]
javascriptcontroller.action('image', function * (next) {
  var mediaId, token, response, url;

  var base64, type, prefix;

  this.checkQuery('mediaId').notEmpty();  // 参数验证
  if (this.errors) {
    this.body = kit.wrapResponse(true, kit.popValue(this.errors[0]));
    return;
  };

  token = yield base.getAccessToken(); // 获取access_token
  url = resource.genFetchImage(token, mediaId); // 请求图片的链接
  response = yield request.get(url); // 通过co-request向微信服务器发出请求

  // 处理响应,组合base64图片
  type = response.headers["content-type"];
  prefix = "data:" + type + ";base64,";
  base64 = new Buffer(response.body, 'binary').toString('base64');

  this.body = prefix + base64;
  yield next;
});

以上代码是我写的控制器,功能是:从微信服务器下载图片,并将其转换成base64格式的。代码是成功执行了,可返回的结果在浏览器img标签里显示不出来。

运行环境
- node v0.12.2
- koa v0.20.0
- controller是我自己写的类

调试+Google+Baidu一晚,还是没能解决。不过调用 fs.writeFile(filename, data[, options], callback) 接口能够下载图片下来。

小白一枚,各路大侠尽情喷我!

PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
巴扎黑

nodejs 不深也不浅得了解下编码 事后总结!

伊谢尔伦

mark,mark

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号