Meteor 前端 RESTful API 经过后端 API 下载文件

Meteor 下载文件

问题场景

后端 HTTP server提供一个下载接口,但是需要前端 Meteor 能够给浏览器用户开一个URL来下载这个文件。javascript

举例:在线的Meteor Logo文件就比如后端提供的 RESTful API,而后咱们给浏览器客户暴露一个 URL 来下载前端

Meteor 依赖

安装所有依赖:java

meteor add http
meteor add cfs:http-methods
meteor add froatsnook:request

说明:
* cfs:http-methods * 用来给Meteor项目提供一个方便建立 RESTful API 的机会。很方便。后端


here for details.浏览器

* froatsnook:request * 用来给Meteor项目提供一个便利訪问二进制数据的 RESTful API 的机会,也是很简洁方便。支持同步请求。bash


here for details.markdown

演示样例代码

Meteor server端

if (Meteor.isServer) {

  // exports a RESTful API for browser
  HTTP.methods({

    // name RESTful API as "GET /download-meteor-logo"
    '/download-meteor-logo': function() {

      // A file in streaming, so need to response to browser as a streaming.
      var res = this.createWriteStream();

      // Play as a HTTP client for requesting image.
      // It is Sync way
      var result = request.getSync("https://meteor.com/meteor-logo.png", {
        encoding: null
      });

      var buffer = result.body;
      // TODO: need to set header for response here which transfered by
      // response of logo request.
      res.write(buffer);
      res.end();
    }
  });
} // Meteor.isServer enclosure
  1. 首先得启动 Meteor 服务
meteor --port 3000
  1. 打开浏览器訪问 http://localhost:3000/download-meteor-logo

效果示意图

相关文章
相关标签/搜索