我从SQL Server数据库字段中获取二进制数据,并在应用程序具有权限的目录中创建一个文档。然而,我仍然遇到了标题中指定的错误。我尝试了网上提供的许多建议,包括之前在Stackoverflow上建议的方案。我还使用了ProcessExplorer>查找句柄来定位锁定,但它没有返回任何东西,好像文件没有被锁定。
我正在使用以下代码将文件保存到文件系统中,然后我尝试在应用程序过程的另一个方法中复制此文件到新位置。正是这个复制方法,它需要新创建的文件的路径,才会抛出异常。
文件本身已经带有其内容,我可以通过Windows Explorer打开它而没有任何问题。
我是否漏掉了一些非常明显的东西?我是否正确地从数据库中创建了文件?任何有关解决或更好地诊断问题的帮助都将不胜感激。
// Get file from DB
FileStream fs = new FileStream(
"C:\myTempDirectory\myFile.doc", FileMode.OpenOrCreate, FileAccess.Write);
BinaryWriter br = new BinaryWriter(fs);
br.Write("BinaryDataFromDB");
fs.Flush();
fs.Close();
fs.Dispose();
// Copy file
File.Copy(sourceFileName, destinationFilename, true);
@"C:\myTempDirectory\myFile.doc"
。 - Jacob