台灣最大程式設計社群網站
線上人數
1034
 
會員總數:239604
討論主題:185880
歡迎您免費加入會員
討論區列表 >> ASP.NET >> Directory.GetFiles 找不到路徑 :~~~
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Directory.GetFiles 找不到路徑 :~~~
價值 : 10 QP  點閱數:197 回應數:1

樓主

keonvong
門外漢
0 1
16 0
發送站內信

大家好, 我是新手, 希望大家多多指點 ...

以下代碼是 View 中的 .. 我發覺是 work 的

for (int i=1; i<=3; i++)
{
string imgPath = "/Temp/2490/" + i.ToString() + ".jpg";
<img width="200" height="200" src="@Url.Content(imgPath)" />
}

如果代碼變成如下 (打算讓用戶下載檔案), 就不行了, 路徑變成了 C:/Temp/2490 ... 如果用 "~/Temp/2490", 則會變成 C:/Program file/IIS ... /Temp/2490 ...


foreach (var file in Directory.GetFiles(@Url.Content("/Temp/2490"), "*.jpg, *.pdf", SearchOption.AllDirectories))
{
<li>
<a href="@Url.Content(file)">Document</a>
</li>
}

請問該怎麼做呢?

搜尋相關Tags的文章: [ C# ] , [ asp.net-mvc ] ,
本篇文章發表於2017-04-07 09:48
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
在您的IIS中
虛擬路徑『/Temp』對照到的實體路徑是啥?

假設在IIS中的PJ1專案,您的專案實體路徑在「D:\wwwRoot\PJ1」
那麼您專案中的「/Temp」預設的路徑會是在您專案中底下『D:\wwwRoot\PJ1\Temp』
但是,IIS中的虛擬目錄是可以指向其他實體位置的
例如,在IIS中的PJ1專案中,您設定了底下的需裡目錄『/Temp』他的實體位置是『D:\Temp』
那麼,此時『/Temp/1234』就會是在實體位置『D:\Temp\1234』,而非專案目錄下『D:\wwwRoot\PJ1\Temp\1234』

所以您的狀況,要實際與IIS中的設定一起看,才能知道

^.^a
本篇文章回覆於2017-04-07 09:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.