我将文件存储在SQL Server数据库中,如果用户选择了文件,我也会在应用程序中显示这些文件。这就是我所做的:
LetterBAL letterBal = new LetterBAL();
string filter = "Id=" + letterListView.SelectedItems[0].Text;
Letter letter = letterBal.GetLetterImage(filter);
string path = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
path = path + "\\IssuedLetter\\" +letter.Id.ToString() + "." +letter.FileExt;
webBrowser1.Navigate(path);
public Letter GetLetterImage(string filter)
{
LetterDB letterDB = new LetterDB();
Letter letter = letterDB.GetLetterImage(filter);
string path = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
path = path + "\\IssuedLetter";
path = path + "\\" + letter.Id.ToString() + "." + letter.FileExt;
using (var fs = new FileStream(path, FileMode.Create, FileAccess.Write))
fs.Write(letter.ltr_Image, 0, letter.ltr_Image.Length);
return letter;
}
用户第一次选择文件时,它已在网络浏览器中显示,没有任何问题。但如果是第二次(当网络浏览器仍显示相同的pdf文件时),则说
该进程无法访问文件' C:\ Users \ mj.PG \ Documents \ IssuedLetter \ 3.PDF'因为它正被另一个进程使用。
如果用户再次点击同一文件进行查看,我该如何处理?
答案 0 :(得分:1)
有几种方法可以避免阻止: