Я получаю двоичные данные из поля базы данных SQL Server и создаю документ локально в каталоге, в котором у моего приложения есть разрешения. Однако я все еще получаю ошибку, указанную в названии. Я пробовал множество предложений, размещенных в Интернете, включая те, которые были предложены в предыдущих сообщениях в Stackoverflow. Я также использовал ProcessExplorer > Find Handle, чтобы найти блокировку и ничего не возвращает, как будто файл не заблокирован.
Я использую приведенный ниже код, чтобы сохранить файл в файловой системе, и затем попытаюсь скопировать этот файл в новое место позже в процессе приложения в рамках другого метода. Именно этот метод копирования принимает путь к вновь создаваемому файлу, который генерирует исключение.
Сам файл создается с его содержимым, и я могу без проблем открыть его через проводник Windows.
Я пропустил что-то совершенно очевидное? Правильно ли я создаю файл из базы данных? Любая помощь в решении или улучшении диагностики проблемы была бы высоко оценена.
// 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);