簡體   English   中英

在我的.net網站中使用Directory.GetFiles

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM