2014-03-26 74 views
0

我的應用程序(asp.net mvc knockout)有一個功能,其中Admin用戶可以上傳.png或.jpg文件並將其與目前,我的應用程序中的所有圖像都存儲在根應用程序文件夾中的「\ Images \ Icons」下。但由於策略將圖像保存到Web服務器中的文件夾是不允許的,因此必須將它們移動到網絡「\ XYZ.net \ Shared \ AppName \ Images \ Icons」中的共享文件夾中。現在當實體細節與圖像一起顯示在視圖上時,圖像不會顯示。提琴手顯示400錯誤請求錯誤,URL - GET http://localhost:52624/ApplicationName/%5CXYZ.net%5CShared%5CAppName%5CImages%5CIcons%5CAbc.png HTTP/1.1如何將圖像存儲到網絡中的文件夾並在視圖中引用它們 - asp.net mvc

解決此問題的任何提示?


舊代碼:在Layout.cshtml

<script type="text/javascript"> var BASE_URL = '@Url.Content("~/")';</script> 
In View: 
<!-- ko if: Icon() --> 
    <img data-bind="attr: {src : BASE_URL + 'Images/Icons/' + Icon()}" /> 
<!-- /ko --> 

新代碼:

var IMG_URL = '\\XYZ.net\\Shared\\AppName\\'; 
<!-- ko if: Icon() --> 
    <img data-bind="attr: {src : IMG_URL + 'Images\\Icons\\' + Icon()}" /> 
<!-- /ko --> 

回答

0

你有兩個選擇:

  • 在IIS上添加一個虛擬目錄以指向網絡驅動器。
  • 在服務器上,攔截呼叫到特定路由(例如,http://www.myserver.com/images)。處理請求並使用響應將文件推送到客戶端。

這不是可以在客戶端上完成的事情。

+0

謝謝Adam.I正在看[2009年8月6日由morgan發表的]博客(http://www.phpvs.net/2009/08/06/aspnet-mvc-how-to-route -to-圖像 - 或其他文件類型/)。這看起來像一箇舊博客,如果你知道任何新的在線示例,你可以指導我看看他們。 – Ntn

+0

也將實施第二種方法來攔截呼叫到特定的路線和寫入響應導致窮人的用戶體驗在減緩頁面加載等方面... – Ntn

0

我會添加到亞當Zuckerman的答案,你可能有問題訪問本地主機上的文件。您可能需要將localhost託管爲受信任的站點。

+0

埃裏克,網絡基礎設施團隊拒絕使本地主機成爲一個值得信賴的站點他們最瞭解的原因。謝謝你的幫助。 – Ntn

相關問題