Meteor 前端 RESTful API 通过后端 API 下载文件
Meteor 下载文件
问题场景
后端 HTTP server提供一个下载接口,可是须要前端 Meteor 可以给浏览器用户开一个URL来下载这个文件。
举例:在线的Meteor Logo文件就好比后端提供的 RESTful API,然后我们给浏览器客户暴露一个 URL 来下载
Meteor 依赖
安装全部依赖:
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 的机会,也是很简洁方便。支持同步请求。
here for details.
演示样例代码
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
浏览器查看是否有Logo
- 首先得启动 Meteor 服务
meteor --port 3000
完
Meteor 前端 RESTful API 通过后端 API 下载文件的更多相关文章
- rest api上传和下载文件
rest api上传和下载文件 function FileToString(AFileName: string): string; var LMemoryStream: TMemoryStream; ...
- 从后端接口下载文件的2种方式:get方式、post方式
从后端接口下载文件的2种方式 一.get方式 直接使用: location.href='http://www.xxx.com/getFile?params1=xxx¶ms2=xxxx' ...
- 前端/H5/JS:通过URL下载文件并转存到其他服务器(微信),Blob文件转File文件
现在有一个图片URL,在自己服务器上,一个微信提供的媒体文件上传URL,我在前端通过JS实现转存微信服务器 1. http://file.xxx.com/asd.jpg 自己的 2.https://a ...
- 前后端分离,如何在前端项目中动态插入后端API基地址?(in docker)
开门见山,本文分享前后端分离,容器化前端项目时动态插入后端API基地址,这是一个很赞的实践,解决了前端项目容器化过程中受制后端调用的尴尬. 尴尬从何而来 常见的web前后端分离:前后端分开部署,前端项 ...
- 如何在Uniapp中访问CabloyJS后端API管理系统
介绍 CabloyJS是一款免费开源的NodeJS全栈开发框架,采用前后端分离设计,具备开箱即用的后台管理系统 Cabloy-SDK是专门为Uniapp应用量身定制的前端SDK,用于便捷的访问Cabl ...
- 如何用ajax下载文件
引子 在HTML5没来之前,浏览器想要下载文件,可能有这么几种方式: 借助a标签,<a href="学习资料.xlsx"></a> window.locat ...
- Android+Spring Boot 选择+上传+下载文件
2021.02.03更新 1 概述 前端Android,上传与下载文件,使用OkHttp处理请求,后端使用Spring Boot,处理Android发送来的上传与下载请求.这个其实不难,就是特别多奇奇 ...
- latin-1 codec cant encode characters in position 42-48: ordinal not in range256 下载文件时候报错
python后端写下载文件, 这个时候出现了这个错误 latin-1 codec cant encode characters in position 42-48: ordinal not in ra ...
- Python Flask高级编程之RESTFul API前后端分离精讲 (网盘免费分享)
Python Flask高级编程之RESTFul API前后端分离精讲 (免费分享) 点击链接或搜索QQ号直接加群获取其它资料: 链接:https://pan.baidu.com/s/12eKrJK ...
随机推荐
- A Reusable Aspect for Memory Allocation Checking
The checking logic would be refactored into an aspect file, as follows: after(void * s) : (call($ ma ...
- Shuffle'm Up(串)
http://poj.org/problem?id=3087 题意:每组3个串,前两个串长度为n,第三个串长度为2*n,依次从第二个串(s2)中取一个字符,从第一个串(s1)中取一个字符,...... ...
- [Apple开发者帐户帮助]三、创建证书(1)证书概述
在开发应用程序的过程中,您将创建不同的证书类型,以便在不同的上下文中使用.您将为iOS,tvOS和watchOS应用程序使用相同的证书集,并为macOS应用程序使用不同的证书集.您将使用开发证书在设备 ...
- Appium + python -always_allows弹窗
from appium import webdriverfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.web ...
- vmware 14黑屏处理办法
从12升级到了14,但是发现所有的虚拟机都不能用了,黑屏.挂起的时候反而会显示界面,但是继续运行就是黑屏. 记录下解决办法. 修复LSP 以管理员身份运行CMD命令: netsh winsock re ...
- 4.Flask-alembic数据迁移工具
alembic是用来做ORM模型与数据库的迁移与映射.alembic使用方式跟git有点类似,表现在两个方面,第一个,alemibi的所有命令都是以alembic开头: 第二,alembic的迁移文件 ...
- 1.0 windows10系统安装步骤(1)
1.0 windows10系统安装步骤(1) 根据自己对笔记本系统的折腾,为了方便他人系统的安装,故总结笔记本系统的安装步骤 目录: 1.0 [windows10系统安装步骤(1)] 2.0 Linu ...
- android悬浮球实现各种功能、快速开发框架、单词、笔记本、应用市场应用等源码
Android精选源码 悬浮球,实现一键静音,一键锁频,一键截屏等功能 一个Android快速开发框架,MVP架构 Android QQ小红点的实现源码 android一款单词应用完整app源码 an ...
- Eclipse Rap开发 异步刷新UI处理
1.Display.getCurrent()获取的是当前线程的display对象,如果当前在非UI线程中那么获取到的display对象为空: 一般Display.getCurrent() 用 ...
- C#调用FFMPEG实现桌面录制(视频+音频+生成本地文件)
不得不说FFMPEG真是个神奇的玩意,所接触的部分不过万一.网上有个很火的例子是c++方面的,当然这个功能还是用c++来实现比较妥当. 然而我不会c++ 因为我的功能需求比较简单,只要实现基本的录制就 ...