webservice上传b64编码存图片问题,测试正常,页面调用就出错

wanshichen 2015-12-21 09:35:13

[WebMethod]
public void MsgBackAddOrModi(int InputPersonID, string Isyscode, string CreatDate, string CusClass, string CusID, string Photo0, string Photo1, string Photo2, string Photo3)
{
string dbcon = ConfigurationManager.ConnectionStrings["AucmaZDCoon"].ToString();
SqlConnection conn = new SqlConnection(dbcon);
DataSet ds = null;
try
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}

string sqlproc = "spMsgBackAddOrModi";
SqlCommand cmd = new SqlCommand(sqlproc, conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@PersonID", SqlDbType.Int, 4);
cmd.Parameters["@PersonID"].Direction = ParameterDirection.Input;
cmd.Parameters["@PersonID"].Value = InputPersonID;
……
//执行存储
SqlDataAdapter da = new SqlDataAdapter(cmd);
ds = new DataSet();
da.Fill(ds);
int MsgBackID = Convert.ToInt32(ds.Tables[0].Rows[0][2].ToString());
byte[] arr = Convert.FromBase64String(photo0);
MemoryStream ms = new MemoryStream(arr);
Bitmap bmp = new Bitmap(ms);
string filename = DateTime.Now.ToString("yyyyMMddHHmmss") + Guid.NewGuid().ToString().Substring(0, 5) + ".jpg";
bmp.Save("F:\\Pic\\" + filename, System.Drawing.Imaging.ImageFormat.Jpeg);
string url = "http://localhost/WebTest/pic/" + filename;
//执行保存图片路径跟主表ID的存储
Context.Response.Charset = "GB2312"; //设置字符集类型
Context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Context.Response.Write(“成功”);
}

现在是直接访问此webservice页面http://localhost/WebTest/ZDMsgBackInfoWS.asmx,此MsgBackAddOrModi方法,不会报错,会返回成功,写了一个test页面, temp.ZDMsgBackInfoWSSoapClient a = new temp.ZDMsgBackInfoWSSoapClient();
a.MsgBackAddOrModi(8023, "", "2015-12-14", "1", "1", Convert.ToBase64String(arr), null, null, null);
就会报错,提示:【从网络接收的xml存在问题。有关详细问题,请参见内部异常】
跟踪之后,发现异常是【根级别上的数据无效。 行 1,位置 1】,但是发布后,F5直接运行该webservice页面调用方法就不会报错,测试页面引用就会报错……求解答
...全文
114 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧