我在asp.net(C#)4.0中工作。在上传图像之前,我想检查是否存在已上载图像的文件夹。如果它存在,是否为只读,如果它是只读的,我想使它不是只读的。我该怎么办每次启动应用程序时,该文件夹都设置为只读。所以我想通过编程方式检查它来避免这个问题。
我确实喜欢这个......
SaveFilePath = Server.MapPath("~\\_UploadFiles\\") + FileName;
DirectoryInfo oDirectoryInfo = new DirectoryInfo(Server.MapPath("~\\_UploadFiles\\"));
if(!oDirectoryInfo.Exists)
Directory.CreateDirectory(Server.MapPath("~\\_UploadFiles\\"));
else
{
if (oDirectoryInfo.Attributes.HasFlag(FileAttributes.ReadOnly))
{
oDirectoryInfo.Attributes = FileAttributes.Normal;
}
}
if (File.Exists(SaveFilePath))
{
File.Delete(SaveFilePath);//Error is thrown from here
}
此代码从代码上的指定位置引发错误。文件夹“_UploadFiles”是只读的,但它仍然不会进入if语句来生成FileAttributes.Normal
错误是...... 访问路径'C:\ Inetpub \ wwwroot \ WTExpenditurev01_VSS_UploadFiles \ Winter.jpg'被拒绝。
答案 0 :(得分:6)
使用System.IO.DirectoryInfo class:
var di = new DirectoryInfo(folderName);
if(di.Exists())
{
if (di.Attributes.HasFlag(FileAttributes.ReadOnly))
{
//IsReadOnly...
}
}