Meteor 代理文件到浏览器

标签 meteor

我在外部 URL 上有一个文件(只有运行着的 meteor 服务器才能访问)

http://192.168.9.39/account_5.pdf

我想在 meteor 中提供此服务,以便用户可以单击链接到例如http://server.meteor.com/temp/account_5.pdf

有什么办法可以做到这一点吗?也许将其直接流式传输给用户或将文件下载到 /public/temp 文件夹以便可以提供服务?我该怎么做?

我愿意接受任何建议,即使它耗尽了节点模块或其他东西

最佳答案

您正在运行自己的 Meteor 服务器,还是确实想部署到 *.meteor.com? (你说的是“server.meteor.com”,所以我想知道)。

从节点你可以使用http.get检索远程文件,然后使用 fs.writeFile将其保存到您的 temp/目录。

或者您可以像您建议的那样使用 http://www.catonmat.net/http-proxy-in-nodejs/ 之类的内容进行流式传输

如果您正在运行自己的服务器,最简单的事情可能就是将此代码打包到一个小的 npm 模块中。 Node 的 require 暴露给 __meteor_bootstrap__.require 中的 Meteor 代码,因此要触发获取远程文件,您可以执行类似 __meteor_bootstrap__.require('my-npm- module').fetchFileToTemp(name).

对于流选项,__meteor_bootstrap__.app 是 Meteor 的连接服务器,您可以通过它附加您自己的请求处理程序

__meteor_bootstrap__.app(function (req, res, next) { ... });

以连接中间件的通常方式。

关于Meteor 代理文件到浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14423584/

相关文章:

node.js - Meteor.loginWithPassword 不适用于带有 @ 字符的用户名

javascript - 确定 meteor 中简单模式的字段类型

javascript - 无法访问上传的图像 - Meteor GridFS

meteor - 我可以在另一个 EJSON 对象中嵌入一个 EJSON 对象吗?

Meteorjs 嵌套条件模板

meteor Stripe 元素不渲染

meteor - 我部署了一个 Meteor 站点大约一周左右,并且没有告诉任何人。 Google Analytics 说我有 312 个用户和 345 个 session 。为什么?

meteor - 如何使用 Collections2 在 Meteor (JS) 中存储浮点值?

javascript - 从 meteor 服务器获取单个值到客户端

javascript - 在服务器、客户端和所有文件之间共享 Meteor 函数而不将它们声明为全局的?