gpt4 book ai didi

asp.net - 从 Web 应用程序编辑 MS Office 文档 : custom WebDaV implementation or . ..?

转载 作者:行者123 更新时间:2023-12-04 07:43:40 26 4
gpt4 key购买 nike

以下是我们的设置和要求:

  • 有一个可通过 SSL + 基本身份验证访问的公共(public) Web 应用程序。大多数这些应用程序都在 ASP.Net 中;几个旧的都在经典的 ASP 中。服务器是 Win 2003/IIS 6.0
  • 此应用程序需要支持(主要是)MS Office 文档(2007 和 2010)的在线编辑。文档本身与应用程序的内容一起存储在数据库中。
  • 用户应该能够通过 HTML 链接打开文档;相应的外部 Office 应用程序(例如 MS Word)应以编辑模式(具有独占锁定)打开文档,并且当用户按下保存按钮时,应将文档发送回应用程序。
  • 最好不需要在客户端部署外部插件/ActiveX 控件。

  • 自定义 WebDAV 实现是最好的方法吗?请注意,我们可能不需要 WebDAV 的所有功能来支持上述要求。你知道任何替代方案吗?

    如果自定义 WebDAV 实现是要走的路,您能否推荐一些好的资源(商业/开源 IIS 插件、.Net 中的示例、文档等),除了 http://www.webdav.org/ ?顺便说一句,我不喜欢安装像 Sharepoint 这样庞大的 CMS 来支持这么小的需求!

    我在 SO 上找到了一个关于自定义 WebDav 实现的线程: What are your experiences implementing/using WebDAV?听起来很令人沮丧:((仅适用于 IIS 根目录,需要 Windows 身份验证等)

    提前致谢!

    最佳答案

    我最近使用 Apache Tomcat WebdavServlet 作为基础开发了一个简单的 Webdav 服务器。我刚刚从 SVN(见下文)获得了源代码并对其进行了修改以满足我的需要。您可以将代码添加到其中的不同方法中:

    doGet
    doLock
    doPut
    doUnlock
    etc...

    我在企业 CMS 前将它用作可怜的 mans webdav,因此在每个方法中我都添加了 API 调用来获取文档、锁定它、对其进行版本控制或其他任何操作。基本上他们不想从供应商那里购买 webdav 产品,而 Tomcat 是免费的。

    至于在客户端上打开 Office 文件,您可能需要依赖随 Office 安装提供的库(至少从 Office XP 开始)。请注意,该组件称为 SharePoint blah blah,但它不需要在任何地方安装 SharePoint。我在这里有一个 js 片段,它使用该库作为示例,显然您会修改以满足您的需求。我知道你说没有 ActiveX,但没有它我不能 100% 确定你将如何打开链接。欢迎您尝试其他方式。
    function webedit(id) {
    if (window.ActiveXObject) {
    var ed;
    try {
    //Office 2003
    ed = new ActiveXObject('SharePoint.OpenDocuments.2');
    } catch (err1) {
    try {
    //Office 2000/XP
    ed = new ActiveXObject('SharePoint.OpenDocuments.1');
    } catch (err2) {
    try {
    //Office 2007
    ed = new ActiveXObject('SharePoint.OpenDocuments.3');
    } catch (err3) {
    window.alert('Unable to create an ActiveX object to open the document. This is most likely because of the security settings for your browser.');
    return false;
    }
    }
    }
    if (ed) {
    ed.EditDocument('<%=webdavPath%>/webdav/'+id);
    return false;
    } else {
    window.alert('Cannot instantiate the required ActiveX control to open the document. This is most likely because you do not have Office installed or you have an older version of Office.');
    return false;
    }
    } else {
    window.alert('Internet Explorer is required to use this feature.');
    }
    return false;
    }

    我也意识到您的服务器是 IIS 而不是基于 Apache,但您始终可以使用 IIS 安装 Tomcat(这是我们所做的)并使用 JK ISAPI 过滤器而不是 AJP。无论如何,这是一种做事方式,不需要您购买任何东西。

    SVN来源: http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/java/org/apache/catalina/servlets/WebdavServlet.java

    关于asp.net - 从 Web 应用程序编辑 MS Office 文档 : custom WebDaV implementation or . ..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6792960/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com