2014-05-12 59 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