java - 从 Jersey Rest 服务启动时,PhantomJS 返回黑色屏幕截图

标签 java jersey tomcat7 phantomjs jersey-2.0

当我不是从 Jersey Resource 启动 service.snapshot(msg); 时,它可以正常工作。但对于下面的代码,它会生成空白 png/pdf 文件。

@GET
@Path("/snapshot")
@Produces(MediaType.APPLICATION_JSON)
public RequestResponse snapshot( @QueryParam("url") String url,  // snapshot(...)
                                 @QueryParam("format") String format,
                                 @QueryParam("quality") int quality) throws InterruptedException {

    final PageSnapshotMsg msg = new PageSnapshotMsg.Builder().url(url).
                                                              format(format).
                                                              quality(quality).
                                                              build();

    return service.snapshot(msg);
}

生成的 PhatomJS js 脚本是相同的: 我想知道它可能是什么?

更新: 我试图让我的 PhantomJS 脚本看起来像这样(添加延迟 2000),但它没有帮助:

var page = require('webpage').create();
page.viewportSize = { width: 800, height: 600 };
page.open('bl.ocks.org/mbostock/4063550', function(status) {just_wait(); });

    function just_wait() {
     setTimeout(function() page.render('c:/snapshots_db/1406931931354_bl_ocks_org_mbostock_4063550.png', {format: 'png', quality: '10'});
phantom.exit();}, 2000);}

最佳答案

尝试添加一段延迟,然后再进行屏幕截图。就在 page.render() 之前,这有助于页面在渲染之前实际加载。帮过我一次。如果有任何希望,请发帖。

否则,尝试检查保存图像的目录(对于应用程序)的写入权限以及页面 URL 是否可用。

可能相关.. Phantomjs creating black output from SVG using page.render

另请检查其他相关主题..

关于java - 从 Jersey Rest 服务启动时,PhantomJS 返回黑色屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25089035/

相关文章:

java - 创建从 Android 应用程序的 Assets 文件夹内部到其存储的符号链接(symbolic link)

java - 更改 Android Listview ArrayAdapter 中最后一项的布局

java - Tomcat 上的 Jersey REST 服务出现 404 错误

Java:使用 Jersey Jax-RS 和 Spring Security 进行用户身份验证

solr - JNDI 中的 No/solr/home 虽然它是在 Catalina/localhost/solr.xml 中设置的

java - 谷歌文档如何在不使用 Flash 查看器的情况下显示我的 .PPT 文件?

java - Java 中的简单 REST Jersey 示例不起作用

Maven MultiWAR 项目 : How to deploy them all from root project?

java - Tomcat 7 - 写入符号链接(symbolic link)目录

java - 删除 ArrayList 中重复项的时间复杂度