C# 使用.net webservice以像素为单位发送图像
我以像素形式为发送图像编写了一个Web服务。它工作得很好,但当我们在参数中提供大量数据时,它不会获取完整的数据。它需要有限的数据或小图像。 这是参数限制吗?或者我如何在参数中给出大数据 这是我的密码C# 使用.net webservice以像素为单位发送图像,c#,.net,C#,.net,我以像素形式为发送图像编写了一个Web服务。它工作得很好,但当我们在参数中提供大量数据时,它不会获取完整的数据。它需要有限的数据或小图像。 这是参数限制吗?或者我如何在参数中给出大数据 这是我的密码 [WebMethod] public XmlDocument testuploadimage(string image) { XmlDocument login = new XmlDocument(); XmlDeclaration dec
[WebMethod]
public XmlDocument testuploadimage(string image)
{
XmlDocument login = new XmlDocument();
XmlDeclaration dec = login.CreateXmlDeclaration("1.0", null, null);
login.AppendChild(dec);
XmlElement root = login.CreateElement("CreateUser");
login.AppendChild(root);
try
{
string actFolder = Server.MapPath("~/Images/");
string s = image.Replace(" ", string.Empty);
string imgname = DateTime.UtcNow.ToString().Replace(" ", "").Replace("AM", "").Replace("PM", "").Replace("/", "").Replace("-", "").Replace(":", "") + ".png";
// string imgname = DateTime.UtcNow.ToString("yyyyMMddHHmm") + ".png";
byte[] imageBytes = Convert.FromBase64String(image.Replace(" ","+"));
MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length);
// MemoryStream ms = new MemoryStream(imageBytes);
// Convert byte[] to Image
// ms.Write(imageBytes, 0, imageBytes.Length);
Image image2 = Image.FromStream(ms);
image2.Save(actFolder + imgname);
XmlElement root1 = login.CreateElement("uploaded");
root1.InnerText = "true";
root.AppendChild(root1);
XmlElement root2 = login.CreateElement("path");
root2.InnerText = "http://Myserver/HeritageWebServices/Images/" + imgname;
root.AppendChild(root2);
return login;
}
catch (Exception ex)
{
ErrLogMgr.LogErrorMessage(string.Format("{0}{1}", "testuploadimage() for the image :",
image), "testUploadimage Inputs",
ERRORSOURCE.CSASERVICE);
XmlDocument cd = new XmlDocument();
cd.LoadXml("<Message>" + ex + "</Message>");
return cd;
[WebMethod]
公共XmlDocument testuploadimage(字符串图像)
{
XmlDocument login=new XmlDocument();
XMLDec=login.CreateXmlDeclaration(“1.0”,null,null);
登录名:AppendChild(dec);
XmlElement root=login.CreateElement(“CreateUser”);
AppendChild(root);
尝试
{
字符串actFolder=Server.MapPath(“~/Images/”);
字符串s=image.Replace(“,string.Empty”);
字符串imgname=DateTime.UtcNow.ToString().Replace(“,”).Replace(“,”).Replace(“,”).Replace(“/”,”).Replace(“:”,“)+”.png”;
//字符串imgname=DateTime.UtcNow.ToString(“yyyyMMddHHmm”)+“.png”;
byte[]imageBytes=Convert.FromBase64String(image.Replace(“,”+”);
MemoryStream ms=新的MemoryStream(imageBytes,0,imageBytes.Length);
//MemoryStream ms=新的MemoryStream(imageBytes);
//将字节[]转换为图像
//ms.Write(imageBytes,0,imageBytes.Length);
Image image2=Image.FromStream(ms);
image2.保存(actFolder+imgname);
XmlElement root1=login.CreateElement(“上传”);
root1.InnerText=“true”;
根.AppendChild(root1);
xmlementroot2=login.CreateElement(“路径”);
root2.InnerText=”http://Myserver/HeritageWebServices/Images/“+imgname;
根.AppendChild(root2);
返回登录;
}
捕获(例外情况除外)
{
ErrLogMgr.LogErrorMessage(string.Format(“{0}{1}”),“图像的testuploadimage()”,
图像),“testUploadimage输入”,
ERRORSOURCE.CSASERVICE);
XmlDocument cd=新的XmlDocument();
LoadXml(“+ex+”);
返回光盘;
两件事
尝试更改web.config文件中的maxRequestLength
我看到您正在使用base64发送图像,您可以尝试在将bytearray转换为base64之前压缩它,以减少图像或尝试转换为更压缩的图像类型(ej:bmp到png)
关于两件事
尝试更改web.config文件中的maxRequestLength
我看到您正在使用base64发送图像,您可以尝试在将bytearray转换为base64之前压缩它,以减少图像或尝试转换为更压缩的图像类型(ej:bmp到png)
关于Hii感谢4回复..我在web.config上更改了我的maxRequestLength。但仍然参数没有获取全部数据..它需要有限的像素量。是否检查字符串的长度?在服务配置上尝试使用maxMessageLength,这是一个使用Hi的示例..不,我仍在处理它..现在我安装wse3.0并尝试这样做lve此问题..Hii感谢4回复..我在web.config上更改了我的maxRequestLength。但仍然参数没有获取全部数据..它需要有限的像素量。是否检查字符串的长度?在服务配置上尝试使用maxMessageLength,这是一个使用Hi的示例..不,我仍在处理它..现在我安装wse3.0并尝试解决这个问题。。