java - 如何在 JBoss 中预览服务器上的文件

标签 java javascript jboss seam preview

我需要一些关于如何最好地解决这个问题的想法。

我有一个在 JBoss 4.3.3 上运行的 JBoss Seam 应用程序 该应用程序的一小部分的作用是根据 Open Office 模板生成 html 和 pdf 文档。

生成的文件我放在文件系统的/tmp/内。 我尝试过 System.getProperties("tmp.dir") 和其他一些选项,它们总是返回 $JBOSS_HOME/bin 我想选择路径 $JBOSS_HOME/$DEPLOY/myEAR.ear/myWAR.war/WhateverLocationHere/

但是,我不知道如何在不给出绝对路径或设置 $JBOSS_HOME 和 $DEPLOY 的情况下以编程方式选择路径。

Anybody know how I can do this?

第二个问题; 我想轻松预览这些生成的文件。要么通过 JavaScript,要么通过任何最简单的方法。但是,JavaScript 无法访问服务器上的文件系统,因此我无法通过 JavaScript 打开该文件。

Any easy solutions out there?

最佳答案

不确定如何生成 PDF,但如果可能的话,一起跳过磁盘 IO,将 PDF 内容存储在 byte[] 中并在 servlet 中将其刷新给用户,将 mime 类型设置为 application/pdf * 响应由客户端中的链接指定的 URL 或在 <div> 中动态设置的 URL通过 JavaScript。无论如何,您可能会占用内存,除了跳过 IO 之外,您不必担心在完成预览后删除 tmp 文件。

*****我认为这是对的。需要查一下。

关于java - 如何在 JBoss 中预览服务器上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/415863/

相关文章:

java - 正则表达式使用 '%' 字符分割字符串但忽略 '\%'

javascript - 使用 Javascript 的动态 HTML : Fill same HTML object with different contents

java - 注入(inject) JpaRepository : Error creating bean with name

javascript - 如何从这个动态表单中捕获数据

javascript - JavaScript 中的 TypeError : document. getElementById(...) 为 null

apache - 如何使用 JBoss(或 Apache Tomcat)将 ip 和端口绑定(bind)到子域

java - jboss-web.xml 验证错误

java - 在 Jboss 4.2.3 中部署了 EJB3。我们如何访问它?

java - 暂停线程以防止 ConcurrentModificationException?

java - JUnit 只记录失败?