当我们提供将文件(MS.doc)附加到最终用户的选项时,这是一个通用场景。该文件以二进制形式存储在数据库中。当用户下次尝试访问此附件时,我们允许他们下载。现在,在这里,我想为用户提供一个功能,他应该能够在点击时打开此文档文件,编辑并保存,而无需下载。
.doc是一种二进制格式,不容易使用——Christian提到的Aspose这样的库绝对是可行的。
然而,如果.DOCX是可以接受的(这是Office2007和更高版本),那么您可以通过三个步骤实现您想要的:
-
将.docx转换为HTML将Word转换为HTML,然后在网页上呈现HTML
-
使用您选择的任何富文本控件显示HTMLjQuery最好的富文本区域编辑器是什么?
-
最后,将HTML转换回.docx:在c#中将Html转换为Docx
您必须"重塑"Microsoft Office Online(查看您的skydrive帐户)。我不确定是否有任何"开箱即用"的库,但你可以通过利用Aspose单词(或其他库)来构建一个简单的编辑应用程序。但这绝非易事。
链接到aspose:http://www.aspose.com/.net/word-component.aspx
Word将只打开本地存储的文件。您要查找的内容类似于SharePoint使用WebDAV界面提供的编辑项目。
您可以使用这种方法来支持您的需求。除非您对服务器上的共享文件夹具有完全身份验证的访问权限,否则应谨慎对待解决方案的安全方面。
我不确定是否存在独立的MS Word文档编辑器。然而,这可以通过使用富文本格式化/转换工具(例如,DevExpress ASPxHtmlEditor+Document Server)的组合来完成:
- 从数据库加载二进制数据
- 将加载的数据(MS Word内容)作为HTML内容导入ASPxHtmlEditor
- 通过所见即所得ASPxHtmlEditor编辑导入的数据
- 将编辑后的HTML转换回MS Word内容
- 将转换/编辑后的MS Word内容保存回数据库
我相信,如果你的项目中有这样的产品(免费或商业类似产品),就有可能做到这一点。