[英]Using Directory.GetFiles in my .net website
當我建立.net網站時,我使用Directory.GetFiles(@“ D:\\ project \\ images”);檢索文件路徑。
但是,當我將其部署到Internet服務器上時,我必須更改此文件夾的鏈接,您能幫我該怎么做嗎? 如何在Directory.GetFiles()中使用相對鏈接?
將路徑放在web.config中 。 無論如何,您都不應該對路徑進行硬編碼。 如果將來會改變怎么辦?
在您的設置中添加:
<appSettings>
<add key="myPath" value="D:\project\images"/>
</appSettings>
...然后從您的應用程序中調用它:
var myPath = WebConfigurationManager.AppSettings["myPath"];
如果您真的想發瘋,請查看web.config轉換,以便在發布時,您的發布配置將被轉換並為您應用!
正確的方法是使用Server.MapPath,它將Web應用程序中的虛擬路徑映射到服務器中的物理路徑。
在web.config中具有以下內容:
<configuration>
<appSettings>
<add key="ImagesFolder" value="\Images" />
</appSettings>
</configuration>
然后在您的ASP.NET C#代碼后面可以使用:
var ImagesFolder = ConfigurationManager.AppSettings["ImagesFolder"];
var files = Directory.GetFiles(Server.MapPath(ImagesFolder));
注意,您需要添加對System.Configuration
程序集的引用,否則將無法添加using語句並訪問ConfigurationManager
。
這樣,就沒有硬編碼的值,您可以通過編輯Web服務器上已部署文件夾中的web.config文件來編寫該應用程序設置所需的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.