2014-05-12 62 views
0

當我在本地主機上運行此代碼時,其工作正常,但在服務器上上載時顯示錯誤。fileupload在服務器不起作用

代碼的:

if (fUploadImg.HasFile) 
    { 
     try 
     { 
      if (System.IO.File.Exists(Server.MapPath("../Article/" + fUploadImg.FileName))) 
      { 
       ErrorMessage.Text = "exist file"; 
       fImgName = fUploadImg.FileName; 
      } 
      else 
      { 
       fUploadImg.SaveAs(Server.MapPath("../Article/" + fUploadImg.FileName)); 

       fImgName = fUploadImg.PostedFile.FileName; 
      } 
     } 
     catch (Exception err) 
     { 
      ErrorMessage.Text = "error " + err.Message; 
     } 
     finally 
     { 

     } 
    } 
    else 
    { 
     fImgName = "Article.png"; 
    } 

    SqlConnection con = new SqlConnection(cData.constr); 
    SqlCommand cmd = new SqlCommand(); 
    cmd.Connection = con; 
    cmd.CommandText = string.Format("INSERT INTO tblArticle(aTitle,aText,aImg,aUrl,aDate,aDownlodable,aNote)VALUES(@title,@text,@imgN,@atachFn,@date,@down,@note)"); 
    cmd.Parameters.AddWithValue("@title", txtArticleTitle.Text.Trim()); 
    cmd.Parameters.AddWithValue("@text", CKEditor1.Text); 
    cmd.Parameters.AddWithValue("@imgN", fImgName); 
    cmd.Parameters.AddWithValue("@atachFn", fAtachName); 
    cmd.Parameters.AddWithValue("@note", txtNote.Text); 
    cmd.Parameters.AddWithValue("@date", date); 
    cmd.Parameters.AddWithValue("@down", rdoDownloadable.SelectedValue); 

    con.Open(); 
    cmd.ExecuteNonQuery(); 
    con.Close(); 
    clearObject(); 

錯誤: '/' 應用 服務器錯誤。

參數化查詢'(@title nvarchar(3),@text nvarchar(3),@imgN nvarchar(4000),@atac'需要參數'@imgN',該參數未提供。

描述:執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。

異常詳細信息:System.Data.SqlClient.SqlException:參數化查詢'(@title nvarchar(3),@text nvarchar(3),@imgN nvarchar(4000),@atac'需要參數'@imgN',該參數未提供。

源錯誤:

Line 133:   

Line 134:  con.Open(); 

Line 135:  cmd.ExecuteNonQuery(); 

Line 136:  con.Close();   

Line 137:  clearObject();   

請趕快幫忙。
謝謝。

+0

在發生錯誤猜測,打漁獲物和finally塊,fImgName是一個空字符串,從而其對數據庫插入拋出一個錯誤,你是不是看到ErrorMessage.Text。嘗試註釋插入數據庫並在服務器上運行。你會看到錯誤。然後重新構建代碼,以便在上面的代碼塊中錯誤地嘗試運行插入代碼。 – Fred

+0

請在服務器中檢查您的圖像文件夾路徑。 –

+0

我重建代碼顯示此錯誤:訪問路徑'D:\ HostingSpaces \ mysite.com \ mysite.com \ wwwroot \ Article \ title.png'被拒絕 – ASO

回答

0
  • 更改..~在你的代碼到指定站點的根目錄。

    var folder = Server.MapPath(「〜/ Article」);

  • 然後聯繫您的託管服務提供商,告訴他們您的程序需要write accessArticle文件夾。它沒有默認設置。

+0

謝謝@VahidN – ASO