2010-11-02 185 views
1

我有一個頁面,允許用戶上傳照片,照片的路徑將保存在分貝,這是這樣的'〜/ images/1288598614_house - Copy_000002.png'檢查文件是否存在

所以,我想檢查是用戶檢索照片時存在的文件。

我曾嘗試下面的代碼:

Dim myPhoto As String = ~/images/1288598614_house - Copy_000002.png 

If File.Exists(myPhoto) Then 
    hfPhotoUploadPath.Value = myPhoto 
    imgPhoto.ImageUrl = hfPhotoUploadPath.Value 
Else 
    imgPhoto.ImageUrl = "~/images/default.jpg" 
End If 

,但它不工作.....

+0

不應該被替換爲根路徑? – Doggett 2010-11-02 08:02:52

回答

1

你可能想將其映射到文件路徑(使用C#語法的示例):

string localPath = Server.MapPath(myPhoto); 
if(File.Exists(localPath)) {...} 

然而 - 赤裸裸的文件系統不是一定此數據是最好的選擇 - 或者至少,你需要允許某些文件類型的上傳前消毒它。此外,你可能(取決於規模)需要考慮多臺服務器等。

2

您需要更換~Server.MapPath("~")

Dim rootPath As String = Server.MapPath("~") 
+0

正確,〜僅適用於顯示給瀏覽器的路徑,不適用於本地文件路徑。 – 2010-11-02 08:03:52