2017-07-06 98 views
0

形勢無法加載本地資源或虛擬路徑錯誤

我有讀取和圖像/文檔保存到一個特定的文件夾兩個應用程序。例如,如果用戶在一個程序中上傳他們的圖像,程序B的用戶應該查看甚至編輯該圖像。

我做了什麼

在我的應用程序已經創造了這樣一種設置爲我的路徑的字符串之一。所以要保存一個圖像路徑我打電話

path = System.IO.Path.Combine(Properties.Settings.Default.imagePath, Fimage); 

這工作正常。 但是,我的問題是當我嘗試在我的編輯視圖中查看圖像。

控制器

ViewBag.imagePath = Properties.Settings.Default.imagePath; 

查看

<img src="@ViewBag.imagePath/@Url.Content(@Model.image)" alt="Image" style="height: 255px; " /> 

問題

的問題是在試圖查看我的錯誤形象,Not allowed to load local resource:我有充分的機會到了文件夾,當我嘗試瀏覽圖片顯示的錯誤消息中的文件時。我被告知從其他問題使用,server.MapPath然而,當我做Server.MapPath(Properties.Settings.Default.imagePath);我得到錯誤物理路徑收到,預期的虛擬路徑。

此視圖包包含我的文件存儲在EVERYONE用戶具有完全訪問權限的整個字符串文件夾。所以我真的不確定它爲什麼製作保險絲。

P.S我不能說像"~/content/images"這樣的東西,因爲該文件的路徑是在一個完全不同的應用程序,我想我需要給它的整個位置。

任何援助將不勝感激。

感恩

回答

0

看起來因爲API需要形式的路徑例如像你defaultImage變量保存物理路徑,這將用於保存圖像工作c:\website\images\....但爲了查看,您需要VirtualPathhttp://mycoolsite/images/image.jpg這種形式的東西,這就是錯誤告訴你的。

您的控制器;因此,應該返回像

ViewBag.imagePath = Properties.Settings.Default.imagePath.Replace(Request.ServerVariables["APPL_PHYSICAL_PATH"], String.Empty); 

爲了得到相對路徑。看到這個其他related question

編輯我剛纔看到你的「PS ......」

如果是這樣的話,那麼你需要通過完整的URL到其他應用程序(例如http://someothersite.com/images/image.jpg)。

+0

對於你的編輯,我該如何說明在我的配置中,即時嘗試' http:// someothersite/Manage/Content/Image/'並且即時獲取不是有效的虛擬路徑。 – Niana