1

可能是一个愚蠢的问题,但我厌倦了谷歌搜索......

我正在开发一个允许用户编辑存储在服务器上的 .docx 文件的 Struts 2 Web 应用程序。例如,用户单击编辑,然后将文档发送给他/她。完成编辑后,更新的文件将返回到服务器。

嗯,这就是想法。我使用 Struts 2result type="stream"contentDisposition设置为attachment. 这显然向用户显示了“保存”对话框。这inline contentDisposition不是 Word 文件的选项 - 浏览器无论如何都不会加载它。

问题 1:

有没有办法“悄悄地”将文件保存在客户端上?听起来对我来说是一种安全威胁——但我可能错了。

QUESTION 2:
接下来,如何在客户端启动下载的 .docx 文件?同样,我怀疑它是否容易完成(安全性和所有这些),但我在这里也可能错了。:D

我知道只要下载的文档在 Word 中自动打开,用户就可以使用保存对话框。

任何想法表示赞赏。

4

1 回答 1

4

有没有办法“悄悄地”将文件保存在客户端上?听起来对我来说是一种安全威胁——但我可能错了。

不使用 Struts2/HTML/JS。您需要创建一个签名(!)小程序来执行此操作,然后将该小程序嵌入网页中。


接下来,如何在客户端启动下载的 .docx 文件?同样,我怀疑它是否容易完成(安全性和所有这些),但我在这里也可能错了。

同样在这里,使用签名的小程序。一旦您File通过小程序将其保存在客户端,就很简单了

Desktop.getDesktop().open(file);

只要客户端平台安装了 MS Word 并将doc(x)扩展与 MS Word 关联。


作为一种完全不同的选择,您还可以将 MS Word 文档转换为 HTML,然后以纯 HTML 编辑表单(可以通过 JSP/Struts2 轻松生成)呈现,然后在表单提交时将其转换回 MS Word 文档. 这也基本上是谷歌文档正在做的事情。

于 2011-06-20T14:05:28.173 回答