流星webshot不工作采取截图并保存在服务器上(meteor-webshot is not wor

2019-10-20 08:43发布

在服务器我想利用一个外部链接的截图并将其保存到一个文件夹中的服务器。

我试图使用包webshot流星:

https://github.com/TimHeckel/meteor-webshot

但它不工作。 我安装使用地铁加webshot包。 成功安装该软件包。 按照这个计算器: 如何使用webshot与流星

我能够编辑package.js文件webshot到WEBSHOT变量服务器端导出如下所示:

Package.on_use(function (api) {
    api.add_files("lib/webshot.js", "server");
    api.export("WEBSHOT","server"); // This was the new line added to export WEBSHOT
});

这是我打电话服务器端采取webshot的代码:

Meteor.methods 
  post: (postAttributes) ->
    console.log postAttributes.url // 'http://yahoo.com'
    _image = "myscreenshot.png";
    _res = WEBSHOT.snap(postAttributes.url, "public/exports~/" + _image,
      screenSize:
        width: 300
        height: 300
    )

我在公用文件夹目录中称为出口〜当我跑我的代码没有图像保存到该目录,我没有得到任何错误。 我不知道发生了什么事!

因为我有我的设置流星能够安装NPM包服务器端,我也试图通过使用普通的旧NPM安装webshot安装使用NPM webshot包。

然后我试图使用webshot = Meteor.require(“webshot”),但它从来没有工作,因为我无法启动应用程序,因为它保持着类似错误而崩溃:

node_modules/webshot/node_modules/phantomjs/node_modules/request/node_modules/node-uuid/test/test.html:1: bad formatting in HTML template........

因此,我可以使用Meteor.require不能使用webshot正规故宫。 但我终于得到它使用流星智能包时,工作只要我添加

api.export("WEBSHOT","server");

到package.js立案webshot。 但它仍然没有采取实际的屏幕截图。 请人给我介绍!

Answer 1:

我从流星phantomjs混帐枢纽页追踪你的问题。 我有和你同样的问题,用流星phantomjs,现在我意识到我们需要直接包括幻影的项目,因为流星phantomjs仅仅只有包装的环境路径,甚至它采用phantomjs阳光包。 (我不知道它们的区别)

所以我想直接用phantomjs和这里的序列。

1.安装phantomjs到服务器2.加准确phantomjs NPM包版本的流星源packages.json文件流星项目3.使用Meteor.require(“phantomjs”)

但是还有另外一个问题也是,因为节点phantomjs NPM包似乎只执行对child_process幻影的script.js文件,这一切! 所以,我认为我们必须EXCUTE和,因为我们想控制数据。

可能有一些误解的,因为我是那种在节点和流星的新手,但我希望这会有所帮助。 谢谢。



Answer 2:

我有同样的问题,所以我增加了一个新的流星包装( https://atmospherejs.com/bryanmorgan/webshot使用最新版本的节点webshot的(0.15.4)。您应该能够使用):

meteor add bryanmorgan:webshot

而相同的API节点webshot:

webshot("http://google.com", "/tmp/google.png", function (err) {
    // screenshot saved to /tmp/google.png
});


文章来源: meteor-webshot is not working to take a screenshot and save it on the server