2011-04-04 77 views
0

IM是我的代碼:文件上傳控件的錯誤使用文件上傳控件,在這裏

//Uploading the image 
    if (imageUpload.HasFile) 
    { 
     try 
     { 
      if (imageUpload.PostedFile.ContentType == "image/jpeg") 
      { 
       if (imageUpload.PostedFile.ContentLength < 102400) 
       { 
        string im = ("~/User" + "/" + Page.User.Identity.Name + "/" + Page.User.Identity.Name + ".jpeg"); 
        imageUpload.SaveAs(im); 
        uploadLabel.Text = ""; 
       } 
       else 
       { 
        uploadLabel.Text = "File size must be less than 1024 kb"; 
       } 
      } 
      else 
      { 
       uploadLabel.Text = "File must be in jpeg/jpg format"; 
      } 
     } 
     catch(Exception ex) 
     { 
      uploadLabel.Text = "File upload failed becuase: " + ex.Message; 
     } 
    } 

但即時得到一個錯誤: SaveAs方法被配置爲需要有根路徑,該路徑「路徑」沒有紮根。

我做錯了什麼。 謝謝

回答

1

SaveAs()需要一個絕對路徑。

嘗試使用Request.PhysicalApplicationPath + "\\User"

+0

只是想通知你,我正在取消刪除你的答案,因爲@Wahtever說,這是什麼幫助他解決這個問題。 – 2011-04-04 18:18:18

1

Save方法被配置爲需要的絕對路徑(以X:\...,在一些驅動器)。

您應該致電Server.MapPath獲取磁盤上的絕對路徑爲~/whatever

0

添加Server.MapPath,您聲明im Server.MapPath爲您提供絕對路徑。

string im = Server.MapPath("/User") + "/" + Page.User.Identity.Name + "/" + Page.User.Identity.Name + ".jpeg";

0
string filename = FileUpload1.FileName.ToString(); 
    if (filename != "") 
     {    
      ImageName = FileUpload1.FileName.ToString(); 

      ImagePath = Server.MapPath("Images"); 
      SaveLocation = ImagePath + "\\" + ImageName; 
      SaveLocation1 = "~/Image/" + ImageName; 
      sl1 = "Images/" + ImageName; 
      FileUpload1.PostedFile.SaveAs(SaveLocation); 
     } 

嘗試這可能有助於FUL .......