![](/img/trans.png)
[英]Access to the path '(Temp Folder)' is denied. Happens when adding a project or class file to my Visual Studio solution
[英]How to check if file exists in a folder in my project in Visual Studio solution
我在項目中創建了一個文件夾。 在我的代碼中,我想確定該文件夾中是否存在文件。 我怎樣才能做到這一點 ?
----------編輯:
我將嘗試以其他方式提出問題。
我有一個包含所有啟動文件夾的mvc 4項目:Controllers,Views,Models等。我在項目中添加了另一個文件夾MyResources
。 在該文件夾中,我添加了一些pdf文件。 在我的一個控制器中,我有一個邏輯,必須檢查傳遞的文件名是否在該特定文件夾中。 可以說我已經傳遞了PassedFileName.pd
,我想檢查MyResources
文件夾中該文件是否可用。 我嘗試使用System.IO.File.Exists(@"~/MyResources/PassedFileName.pdf")
但它始終返回false
。 當我右鍵單擊文件本身(在解決方案資源管理器中)並查看其實際路徑是什么時: C:\\(phisical-path-on-my-machine)\\MyProjectName\\Resources\\ReturnHelpPdf.pdf
。 這讓我認為我需要以某種方式到達我的項目的路徑,以便我可以進行string.Format
。 希望您了解我的擔心。 我知道如何檢查文件系統上是否存在文件。 但是在這里,我必須檢查一些我不確定的事情,如果我有完整的信息。
您可以使用var fileExists = File.Exists(path);
要檢查文件是否存在於給定路徑中(如果文件存在),則變量fileExists
將為true
否則為false
。
當然,您也可以直接在if語句中檢查
if(File.Exists(path))
{
....
}
else { ... }
您可以使用File.Exists
方法檢查路徑上是否存在文件。 在System.IO
命名空間中可用。
string filePath= @"c:\Projects\sample.txt";
if(File.Exists(filePath))
{
//Do something
}
問題:您需要提供文件的有效physical path
。 使用File.Exists()
方法進行檢查。
解決方案:您需要使用Server.MapPath()
函數來獲取給定relative path
的有效physical Path
relative path
。
嘗試這個:
String path=Server.MapPath(@"~/MyResources/PassedFileName.pdf");
if(File.Exists(path))
{
//File Found
}
通過編程,您可以使用System.IO.File.Exists()
或System.IO.Directory.Exists()
方法
Visual Studio解決方案中的“通常”文件夾用於組織目的,並且在文件系統中不存在。 由於Visual Studio解決方案文件上具有XML,因此可以加載該文件並使用XPath查找文件夾的位置,以及其中是否包含任何文件。
您只能創建解決方案,文件夾,並向其中添加文件,然后在XML內部檢查Visual Studio如何存儲該信息。
如果您確實知道文件名,請使用
if(File.Exist("File path"))
{
}
如果要檢查該文件夾中是否存在任何文件,請使用
string[] files = Directory.GetFiles("Directory Path");
if(files.Length > 0)
{
//File exist
}
要解析~\\
路徑,您需要使用HttpServerUtility.MapPath函數。
System.IO.File.Exists(HttpServerUtility.MapPath(@"~/MyResources/PassedFileName.pdf"))
MapPath
作用是將~\\
轉到項目在IIS服務器上當前正在運行的路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.