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