我覺得我缺少IIS或全局文件中的一些配置?從服務器而不是本地驅動器路徑加載MVC ASP.NET中的XML文件
我要加載的XML文件:
var icon = XDocument.Load("/images/body/logos/LogoImageMappings.xml");
當運行,因爲它試圖找到該文件@ C時失敗:\影像\體\商標\ LogoImageMappings.xml
哪有我正確地將它指向本地主機(或發佈時的Web服務器)應用程序驅動器而不是本地c:?
謝謝。
我覺得我缺少IIS或全局文件中的一些配置?從服務器而不是本地驅動器路徑加載MVC ASP.NET中的XML文件
我要加載的XML文件:
var icon = XDocument.Load("/images/body/logos/LogoImageMappings.xml");
當運行,因爲它試圖找到該文件@ C時失敗:\影像\體\商標\ LogoImageMappings.xml
哪有我正確地將它指向本地主機(或發佈時的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"));
謝謝。它不幸的工作。我添加了上面的截圖(讓我知道如果它太小看不到) – Shenaniganz
你可以發佈如何設置imageIconDirectory? –
感謝您的答覆。它不幸的工作。我添加了屏幕截圖到OP。 – Shenaniganz
@Shenaniganz是否有效?我在這個問題上看不到任何截圖! –
啊,是的,它終於奏效了。在掙扎了一段時間之後,我注意到我的小路上有一個小小的錯字。你和Anotonio的解決方案都可以工作。我接受了你的額外解釋,我發現它很有用,也希望別人也能這樣做。 謝謝。 – Shenaniganz