/// <summary>
/// 修改一条记录的照片
/// </summary>
/// <param name="model"></param>
public void UpdatePicture(Maticsoft.Model.Base_Teachers model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update Base_Teachers set ");
strSql.Append("Picture=@Picture ");
strSql.Append(" where ID=@ID ");
SqlParameter[] parameters = {
new SqlParameter("@ID", SqlDbType.Int,4),
new SqlParameter("@Picture", SqlDbType.Image)};
parameters[0].Value = model.ID;
parameters[1].Value = model.Picture;
DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
}为什么在VS2008里能正确修改图片。但把网站放在iis下再修改图片时就提示错误。
({
type:"POST",
url:"Show_Teacher.aspx/Update_Teacher",
contentType:"application/json; charset=utf-8",
dataType:"json",
data:"{'ID':"+window.dialogArguments.ID_ing
+",'Picture':'"+imagePath
+"'}",
success:function(data)
{
window.dialogArguments.DataIsChanged=1;
},
error:function(err)
{
alert("修改记录失败!");
}
});
[System.Web.Services.WebMethod]
public static void Update_Teacher(int ID, string Picture)
{
Maticsoft.BLL.Base_Teachers bll_Base_Teachers = new Maticsoft.BLL.Base_Teachers();
Maticsoft.Model.Base_Teachers model_Base_Teachers = new Maticsoft.Model.Base_Teachers();
model_Base_Teachers.ID = ID;
if (Picture.Trim() != "")
{
FileStream fs = new FileStream(Picture, FileMode.Open);
byte[] byData = new byte[fs.Length];
fs.Read(byData, 0, (int)fs.Length);
fs.Close();
model_Base_Teachers.Picture = byData;
bll_Base_Teachers.UpdatePicture(model_Base_Teachers);
}
}我传给服务器的Picture只是一个路径名,但在服务器端执行时,可能读取的是服务器下这个路径的文件,所以出错了。缺了上传。