【问题标题】:Loading/Saving Word Documents from Web App (asp.net MVC)从 Web App (asp.net MVC) 加载/保存 Word 文档
【发布时间】:2012-05-02 22:54:29
【问题描述】:

我正在制作一个网络应用程序。其中一部分包括自动生成word文档(字母)。这些文档需要由最终用户打开,然后在完成编辑后保存回服务器。

我为此尝试使用 webdav,但我实际上可以从(使用 active-x)启动 word 的唯一浏览器是 IE。我还找到了一个用于 Firefox 的插件,但对于 Chrome,我找不到可行的方法。

接下来我考虑让客户端将驱动器映射到 webdav(或类似的),然后将文件提供为 file://... 链接,但这仅在网页位于本地计算机上时才有效。

在我放弃word(客户不会喜欢这个)并使用CKEditor或TinyMCE之前,还有其他方法吗?

简而言之,我希望在页面上有指向文档的链接,单击该文档时会在 Word 中打开,但文件应保持远程状态 - 然后在保存时,远程文件会被更新。

我也看过 Zoho,但对于这个项目来说它可能非常昂贵,而且我认为它不能贴上白标,而且在 UI 方面看起来也有点过时。

也许 Sharepoint 可以满足我的需求?没看那么多。也想过让客户端应用程序在系统托盘中运行并处理事情。

如果有一种在浏览器中使用 CKEditor/TinyMCE 之类的工具编辑 Word 文档的不错方法,并且一旦完成,转换回 Word 格式实际上可以 100% 工作,这就足够了。

如果有人有任何想法,我愿意接受全新的想法......

【问题讨论】:

  • 我已经针对这个问题做了一些 RND,并提供了一种解决方法。按照此链接了解步骤和代码实现。 http://steptodotnet.blogspot.com/2012/how-to-edit-word-document-using-aspnet.html 在这里您将获得代码并完成步骤。

标签: asp.net asp.net-mvc sharepoint ms-word webdav


【解决方案1】:

目前 Chrome、Firefox 和 Safari 支持 MS Office 插件。他们可以直接打开文档并将其保存到服务器。大约一个月前,我用 MS Office 2007 和 MS Office 2007 对此进行了测试。

【讨论】:

    【解决方案2】:

    理想情况下,您的用户将能够在本地使用 Word。您是否有机会将create an Office Add-In 挂接到BeforeDocumentSave 事件中,查找文件与您的应用程序相关联的指示符,并将更新的文件保存到您的服务器?

    通过 Word 加载项保存到服务器可能需要包含一些唯一标识符(除了文件名),因此您可以覆盖以前版本的服务器端。然后,如果您使用SignalR 之类的东西,当文件成功保存在服务器上(假设它们仍在该网页上)时(通过FileSystemWatcher),您可以触发网页上的刷新。

    【讨论】:

      【解决方案3】:

      我自己也有同样的问题。

      我通过在服务器上使用摘要身份验证 (SabreDAV) 设置 webdav 共享解决了这个问题,并将其绑定到我的应用后端的用户表中。

      关于客户端,我通过创建一个使用 java Desktop 类 (getDesktop().open()) 打开文件的小型 Java 小程序解决了访问问题。您需要确保针对客户端机器类型(Windows、OS X 或 Linux)正确处理路径

      您还需要让最终用户在本地永久挂载或映射 webdav 共享。

      【讨论】:

        猜你喜欢
        • 2017-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多