程序代码
介绍:
在我当前的项目中,客户希望管理者可以在网站上发布文件,客户的文章(不管是改动或添加什么)都可以将改过的版本上传回网站。然后,管理员可以浏览课余关于文章修改的摘要,允许他可以批准或否定。
尽管我开始以为会很难实现,翻了一些资料,发现除了对单词“跟踪变化”这一特性之外,将几个文档合并为一个是可以做到的,这样一个文档里的所有变化都是允许的。当然可以通过VBA来应用该方法;.net也可以实现。
解决方法:
为了做到这些,我用Visual Studio .NET 2003建立了一个C# ASP.NET项目:
在一个外壳里,Default.apsx页面是主页,DocMerger实现了真正的合并操作,是在 "files"文件夹中("OriginalDoc"包含了文件的原始版本,"Copies"保存的是用户上传的文件,"Output"是添加了摘要的文档)。
网站允许每个人下载原始的文档,上传一个修改的版本并建立输出文档。
服务器通过选择"Track Changes"选项发布引入版本,这样用户的每个变化将被轻易识别。
以下是实现代码:
private void btnGo_Click(object sender, System.EventArgs e)
{
string strBaseDir = Server.MapPath("files/copies");
string strFileName = Guid.NewGuid().ToString().Replace("{","").Replace("}","");
upload.PostedFile.SaveAs(Path.Combine(strBaseDir, strFileName + ".doc"));
}
下面是先前的例子,三个用户分别对文档做了改动。
User 1