当我在本地主机上运行此代码时,其工作正常,但在服务器上上载时显示错误。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