簡體   English   中英

從服務器而不是本地驅動器路徑在MVC ASP.NET中加載XML文件

[英]Loading an XML file in MVC ASP.NET from a server instead of the local drive path

我覺得我可能缺少IIS或全局文件中的某些配置?

我想加載一個xml文件:

var icon = XDocument.Load("/images/body/logos/LogoImageMappings.xml");

運行時失敗,因為它試圖找到文件@ C:\\ images \\ body \\ logos \\ LogoImageMappings.xml

如何將其正確定向到Localhost(或發布時的Web服務器)應用程序驅動器,而不是本地c :?

謝謝。

您必須將路徑映射到文件所在的目錄。 用這個:

string path = Server.MapPath("~/images/body/logos/LogoImageMappings.xml");
var icon = XDocument.Load(path);

Server.MapPath函數會將相對路徑映射到服務器上文件的完整路徑,並用正確的目錄替換代字號(注意,出於安全原因,相對路徑必須指向網站目錄的子目錄)通常您不能訪問任何其他內容。)

您有虛擬路徑,要使用MapPath獲得物理路徑:

var icon = XDocument.Load(HttpContext.Current.Server.MapPath("~/images/body/logos/LogoImageMappings.xml"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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