打开在数据库中存储为byte []的Word文件的最佳方法是什么?
我必须将一些文档存储在Access数据库中 - Word文件,2003及更高版本 - 在严格用于CD的应用程序上。不幸的是,他们必须在数据库中,不能存放在文件夹中。我将它们存储为OLE对象,我可以将它们作为byte []读取和写入。
但是,我不知道在Word中重新打开这些文档的最佳方法。现在我正在使用FileStream在某处重新创建文件,然后拍摄System.Diagnostics.Process.Start(filename)
以使其打开。这将用于政府计算机,有时可能会有一些时髦的安全规则,所以我不知道这是否是最佳方式。
是否可以打开以前存储为byte []的文件而不使用保存到硬盘驱动器的任何中间文件?我知道他们至少会拥有Word 2003,所以我愿意使用Word互操作。
感谢您的任何意见!
答案 0 :(得分:6)
我怀疑你是否能够在内存中提供Word文件而不将其保存到至少RAMDisk或类似的东西。
为什么不使用系统临时文件夹或GetTempFile()方法在使用Word打开文件之前将字节数组写入文件,然后在完成后清理临时文件?
string fullPathToATempFile = System.IO.Path.GetTempFileName();
// or
string tempDirPath = System.IO.Path.GetTempPath();