Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor代理文件到浏览器_Meteor - Fatal编程技术网

Meteor代理文件到浏览器

Meteor代理文件到浏览器,meteor,Meteor,我在外部URL上有一个文件(只有运行meteor的服务器才能访问) 我想在meteor中提供此服务,以便用户可以单击链接,例如http://server.meteor.com/temp/account_5.pdf 我有办法做到这一点吗?也许可以将其直接流式传输给用户,或者将文件下载到/public/temp文件夹,以便提供服务?我该怎么做 我愿意接受任何建议,即使它使用了节点模块或其他东西如果您将pdf放入/public文件夹并部署,用户只需单击即可访问pdf 这是你期待的吗?希望这会有帮助。这

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

我想在meteor中提供此服务,以便用户可以单击链接,例如
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) { ... });