2013-11-26 25 views
1

我以前成功設法使用webimage助手上傳文件,但我現在試圖結合創建一個目錄,並失敗悲慘。這裏是我的代碼:Webmatrix - WebImage幫助和創建目錄

if(IsPost){ 
    //Create Directory using PropertyID 
    var imageroot = Server.MapPath("~/Images/Property/"); 
    var foldername = rPropertyId.ToString(); 
    var path = Path.Combine(imageroot, foldername); 
    if(!Directory.Exists(path)){ 
    Directory.CreateDirectory(path); 
    } 

    photo = WebImage.GetImageFromRequest(); 
    if(photo != null){ 
     MediumFileName = rPropertyId + "_" + gooid + "_" + "Medium"; 
     imagePath = path + MediumFileName; 
     photo.Save(@"~\" + imagePath);} 
} 

首先,我創建一個名稱爲propertyID的目錄。這工作正常。然後我嘗試將新照片上傳到該路徑中,並且出現錯誤,提示「給定路徑的格式不受支持」。

任何想法?

+0

您可能需要「路徑」來擁有'Server.MapPath(path)'。我不確定,因爲我只是瞥了一眼,但任何時候我在這個環境中創建了一個目錄,我都需要'Server.MapPath()'方法。 – VoidKing

回答

2

創建目錄路徑時正確使用Path.Combine(),在製作圖像路徑時應該這樣做。

imagePath = Path.Combine(path, MediumFileName); 

除此之外,錯誤消息提示可能是因爲文件擴展名被忽略而導致問題?也許使用Path.GetFileName(photo.FileName)或類似的名稱,並將其用作構建的路徑名的結尾。

+0

太棒了,現在工作,謝謝波莉! – Gavin5511

+0

PS,我正在研究圖像類型的標準化,所以文件擴展名片段稍後會發揮作用:p – Gavin5511