當我在本地主機上運行此代碼時,其工作正常,但在服務器上上載時顯示錯誤。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();
請趕快幫忙。
謝謝。
在發生錯誤猜測,打漁獲物和finally塊,fImgName是一個空字符串,從而其對數據庫插入拋出一個錯誤,你是不是看到ErrorMessage.Text。嘗試註釋插入數據庫並在服務器上運行。你會看到錯誤。然後重新構建代碼,以便在上面的代碼塊中錯誤地嘗試運行插入代碼。 – Fred
請在服務器中檢查您的圖像文件夾路徑。 –
我重建代碼顯示此錯誤:訪問路徑'D:\ HostingSpaces \ mysite.com \ mysite.com \ wwwroot \ Article \ title.png'被拒絕 – ASO