Meteor代理文件到浏览器
我在外部URL上有一个文件(只有运行meteor的服务器才能访问) 我想在meteor中提供此服务,以便用户可以单击链接,例如Meteor代理文件到浏览器,meteor,Meteor,我在外部URL上有一个文件(只有运行meteor的服务器才能访问) 我想在meteor中提供此服务,以便用户可以单击链接,例如http://server.meteor.com/temp/account_5.pdf 我有办法做到这一点吗?也许可以将其直接流式传输给用户,或者将文件下载到/public/temp文件夹,以便提供服务?我该怎么做 我愿意接受任何建议,即使它使用了节点模块或其他东西如果您将pdf放入/public文件夹并部署,用户只需单击即可访问pdf 这是你期待的吗?希望这会有帮助。这
http://server.meteor.com/temp/account_5.pdf
我有办法做到这一点吗?也许可以将其直接流式传输给用户,或者将文件下载到/public/temp
文件夹,以便提供服务?我该怎么做
我愿意接受任何建议,即使它使用了节点模块或其他东西如果您将pdf放入/public文件夹并部署,用户只需单击即可访问pdf
这是你期待的吗?希望这会有帮助。这有点不太成熟,但是你可以制作一个路由(使用Meteor Router)来响应
/temp/*
,并在加载远程URL的页面中放置一个iframe。它不会很优雅,但会起作用的!以防你需要尽快完成
或者,您可以执行跨源XHR请求,然后以这种方式获取文件,这可能更像流星。但我得查一下 您是在运行自己的Meteor服务器,还是真的要部署到*.Meteor.com?(你说的是“server.meteor.com”,所以我想知道) 您可以使用从节点检索远程文件,然后使用将其保存到temp/目录 或者你可以像你建议的那样使用 如果您正在运行自己的服务器,最简单的方法可能是将此代码打包到一个小的npm模块中。节点的
require
暴露在\uuuuuMeteor\u bootstrap\uuuuu.require
中的Meteor代码中,因此要触发获取远程文件,您可以执行类似\uuuuuMeteor\u bootstrap\uuuuuu.require('my-npm-module').fetchFileToTemp(名称)
的操作
对于流媒体选项,\uuuuuuuuMeteor\u bootstrap\uuuuuu.app
是meteor的连接服务器,您可以通过将自己的请求处理程序连接到该服务器
__meteor_bootstrap__.app(function (req, res, next) { ... });
以连接中间件的通常方式。我必须首先从远程中间件下载到公用文件夹中。我不太确定如何使用meteor,我认为它没有文件处理功能,是吗?。这个文件是由远程机器生成的,所以我不能手动将每个文件放入。我喜欢这个想法,但我不太确定如何在meteor中实现,也许我可以编写一个包来帮助。包是否可以访问文件句柄之类的东西(例如,它可以在meteor.com上使用)?
__meteor_bootstrap__.app(function (req, res, next) { ... });