2016-01-24 192 views
0

我已经使web服务从android应用程序接收base64string和图像名称。但问题是,当我通过base64string到web服务的价值我得到一个错误Base64字符串太长

</style> 

</head> 
<body> 
<div id="content"> 
<div class="content-container"> 
    <h3>HTTP Error 404.15 - Not Found</h3> 
    <h4>The request filtering module is configured to deny a request where the query string is too long.</h4> 
</div> 
<div class="content-container"> 
<fieldset><h4>Most likely causes:</h4> 
    <ul> <li>Request filtering is configured on the Web server to deny the request because the query string is too long.</li> </ul> 
</fieldset> 
</div> 
<div class="content-container"> 
<fieldset><h4>Things you can try:</h4> 
    <ul> <li>Verify the configuration/system.webServer/security/requestFiltering/[email protected] setting in the applicationhost.config or web.config file.</li> </ul> 
</fieldset> 
</div> 

<div class="content-container"> 
<fieldset><h4>Detailed Error Information:</h4> 
    <div id="details-left"> 
    <table border="0" cellpadding="0" cellspacing="0"> 
    <tr class="alt"><th>Module</th><td>&nbsp;&nbsp;&nbsp;RequestFilteringModule</td></tr> 
    <tr><th>Notification</th><td>&nbsp;&nbsp;&nbsp;BeginRequest</td></tr> 
    <tr class="alt"><th>Handler</th><td>&nbsp;&nbsp;&nbsp;ExtensionlessUrlHandler-Integrated-4.0</td></tr> 
    <tr><th>Error Code</th><td>&nbsp;&nbsp;&nbsp;0x00000000</td></tr> 

    </table> 
    </div> 
    <div id="details-right"> 
    <table border="0" cellpadding="0" cellspacing="0"> 
    <tr class="alt"><th>Requested URL</th><td>&nbsp;&nbsp;&nbsp;http://localhost:36690/api/Data/GetImage?base64String=iVBORw0KGgoAAAANSUhEUgAAAQsAAAELCAYAAADOVaNSAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAF39JREFUeNrsnW1y2sj2xhUq3/FdAdwVwF0BygrsWzVT89FkBSYrCFlB8AqMP07NVI29gogd4BUM7MCsIH9OcnSHf7uFXmhJrdbvV0U5ARtQ99Gj55x+0bvv379HAAB5DGgCAEAsAACxAADEAgAQCwDoKu9pgrD57c8/Yv3n1fExPXnJ/H9RkpN/vx4fW/337vdfft3R4uHyjqHTzovB+PhjrCe+CECsPyctfaWDCkgqJDsVkoTeQiygOWGYqiikj1nHDmGv4pGokGxxI4gFXC4MqUuY6s9ZoId6UPFIVDxwIIgFFKwv3Kg41JFGvGh6YKs/FMGsc0j6M6rhez6nAnIUjy2RgVggDj/rDalAXDuqFez0kdYNGik8nhRSpyeicuXAEe1VOJ6Ox/FE1CAWfRMIEYf5Be5hcyIMae7/6vkxj0/SqukFjkRcx5OKxysRhViEWH+YVxSI9Mq6DcmWa5uk9Zi4ogN5xHEgFqGIROogyqQYB71ypjn7rkftNY3+qdnMSrbZWh7UOBCLrqUZIhCL42NY8M9eTqw1wf7/xTYVj1GJtlyRpiAWPgd2rAJxXSKo1xrUO1qwkOuYq3gUEY7UbaxoX8TClyCWAF4WDGAEwq1wzAu6t0dNURJaD7FoOlivTlKNPJHgCtdMqnJb4NdlFGmJaCAWTYnEomA9YqNXszUt552AIxqIRa3BuNB0Y5jjIp40EHER7boN6a+8ERVEA7FovCYhIrHSVIMKvD99N9a+y0tRRDQWjEQhFlUDLVYBODeJaq9XJlKNbojGTY4zfMQVIhZlA0tE4hqRCK5vi9ScDuoQl7QYYnEumJY5gYRI9Cc9kb6eU89ALGwpx/pMXYKaRH9F41lF4xWx6LFYqC1d5QSL5LELgiX4i4WIxuzMxUIc5Qqx6GeA3KibyEo5qJD3LybmevE4FxPzvhZAeycWBdzEQUWCukR/3aa4jDtcRo/FokBtgpQD0liZaqxkDZ33rpbRG7HQkY7PGS9T+YYqcSMu46YvcRO8WKitlCnYWcWre7WVuAmo6jK+9GFeRtBioWmHCMWw71cFqN1lbDSegr3oDALuWJlc9S1DKCTfHCMUUAZ1Dx80bTUR57pTF4Kz6FDacW6041Pfx8vBSYxJWpK1JOBjiKNpQYmFzsh7ysgt92oTmTcBLt3r14yXH4+xNkcs/Ow4sX/JmbSDKbtQV9zJBco2HB9UHSMIsciZefeFFYTQQFqSNeIm+67GIQhG58VCheLB8tJB3QQ3oIGmYnEd2WtlBxWMTqfAnRaLY+eIm7gLtXMguItXp2Ny0OFOWWcIhdi+MUIBbaCjIP9VcThFUuREFzDiLDywe8FPjIHOxOi5gnsnh1Y7JxZnhCK4oSoIQjAkXichCEanxAKhgA4KxpU6jM4LxqBDjZ4lFPcIBfiKpsRx9LOWZvKgBVGcRQNC8ZFNagCHgVggFNAnwfjg+8LGgeeNu0IooCcpyZPvK1a9FQvN5WzzKO4RCghQMNJ5GN4KhpdpyJlZcIx6QOgpiayOnvo4V8g7sTgzmQWhgBAFQ2YamytWvVx8NvCs8cYZQrFBKCDQlESmf5tTw8VteLdBkzdicbLMd2hR2RtCCwIVDHEWsUUwbnXPT8TCwsqSvx2iQPYCAMgRjIXlpc8+TdryQix0e7JbhAJ6LBjr449PtouoLyMkrRc4dbv+b5aX/svGNdA3MiYhejFCMmi5YdI6hckXhAJ6irhscw6GjJas+56G2Aqaz+yZCT1OR7JGSK41Xe+fWGild2axW3NCBnouGLvIPgL4tc36RStioXUK223g2OUK4KdgJJKOW15aa/reOI0XOM/MWuNOYe25PBFveYz1IbxqP8kjQcRb65vE4sBlfdSiD2Kxjt5We6VOwcSrZvtBRGGpdndY4E8eo593m9/Reo1fXHeWPmp8tLBRsdCdjf8ynpZCzpgrV6MBuIyy7waex72KBv3Vs/OmMbE4o5AfuJt5o1cpaevJhW/1Ywo+LqPRvrPdI6dRR95kgdN2e8F7hKJzQhHpe2x936wlMMQN7o3nrrXeFI5Y6AHZZqUtiYHGcCUUKSL8rVXm+4amG3PLS431QVPOYm15jruaN1ujmNTw1hMEv1HBEMG/N54eNdUHg4YC1RwmfST9aEwoxlH1YmYR7pq0wmBNR+6aSAkHDQSqOR58iOzLcaG+4Kob+rPZdMTW3rXPUarbWdiKmgvSj8ZcheSyTVTLr/XCAM0Ihsyv2BhPz+re+2JQY6CKNb02nt6wM3ejxFGxCVeuPguawyYMyzqLnXU6ixV2tXWaHNpELJp1F7vo7dqRUZ3nWC1ioXbIrL4/6vZhEOYJTBrSPHJBNoudi7rcRV3OYmn8n6ImgHt38Wo514ZRTUVt52KhG3SYQ6UripoAtQjGOnq7s9ZdHQVnp2Kh9sdUtX3k4T0QAAJiUcDde+csFtHb6jsrFNsjafCz6OP23IX0szmUeuvaXTgTC3UVpsLtGSptlV2gwgTFnIRTd/He4XvNba4ipN5QQYyjf4Ykf+wm5fHUdZm889DgZ/nab2mfpaMEW+23XSixKTF4PE5xFzPDXTjbsMjZfhbHLyVfaGS4inEgIiHHIXWX64xfOejr3hVyj9/96cz3doVMtos9FPZFRmr8v++taXISSJxKH5j34HF2Q/GBoy85j96OgCwD6QAJtr9zTjgJRlmstfNwj4dVIJ9Rps+m6h4+R+dnsMpV+Jtv9xR1XLu4cTXvwlXNwmzsQwi1Cg2iryX+RAIz8UkwNICea3YVT54JRWK5eJ3js+4NG2LtYhg5muM0cNA5saVjVgEIxU1UbWl3Khg+bQojzm9fw/seIo/u83Jyh7sq62FufboJ8YUXB3PehR9iEdmXoIcwr+KSYxj61AZn7nJ1qVDEnhUJFyUdxZs+D2TnLzP2hi6E8CKx0MKfmcs/dX1ehbqK0YVvc+tT4Om6nNiRYKRC4dtan0uvoMOomSX9dff12uIkF62KRYYFXQagzK4CJvYsiOTkHl9Yw5AC2tQ3odB0eOhR37fN2vj/5NJa2qViYarVJpCx67Gj9/Fu92txfbp9/IfobeX8HJIHf5QhUk/7OPbsfXxMoxetiIVa9WGOmnWV4Le4l0KYzo349/HxSd3GRlOMg/5bnpM9E/5z/N1pT2bjDgPpXykFPJqu6ZLU+JIZnGYKcggomOTKOenBiZFuorKKWOwXInI+3hpCeFP1ol7JWag6XQfqKgQWRXVT4F3wEpJ7jN4WOivXZKqmIfOCOVJXSRy9zxPncOf6LLTd3MyLeOXNlV2JxUtg97104ZL2bCPYeDq18aTvfY/lSu6itFioKk1CbmANvMcL34ZtBJtneeHfb0K7+ZXG8kuBzKAWZ3HTE7u9iKpPkX70ab1Ej9yFnOj3Ff/cq6nrNbuLSZVUpIpYhJ6CpIGXTpEuKxjPrpYEQ6V+W1RwhT5OXXfJk4tUpJRY9CEFMQJPag4y5+K5YMB90QlP0G6/iVh/iopNbfdyRqqPqUipzW90MYq589K/A1bk02OfagPHhmBuVLmffG0HHequa6LZzvPjnutV9HQHKTlxRBzWfblBt+7LYm638K8y67jKioW565KkINMIfAuMsZ4gNyoSTcxK9F40iYkfmzid8rHMRMqyNYvrArkQtBcQsQr633oVmUXNTV+e6Wf+ffwOiS7sAr9TkVJ99L5MIFqeRiz8sdvrqP69NssIxzfdQHaO0/CGxEihS9XXyjgL840PTDryQiikX3YeCYUpGtsQdqAKBPPiPiyzbL2MWMS4Cu+EQk7CvyK/V0rKd3s4flcWqrWfiiQFzuvLxEJt7sRiaaBdoXjo0Fe+C2hT3C7znJMxXOws4oz8BxCKMtySkrSOed46T0PMN9xTtGpNKMZRt1f4Pnh4b5U+YdYZC9ctio6GxH</td></tr> 
    <tr><th>Physical Path</th><td>&nbsp;&nbsp;&nbsp;E:\WebService\WebService\api\Data\GetImage</td></tr> 
    <tr class="alt"><th>Logon Method</th><td>&nbsp;&nbsp;&nbsp;Not yet determined</td></tr> 
    <tr><th>Logon User</th><td>&nbsp;&nbsp;&nbsp;Not yet determined</td></tr> 
    <tr class="alt"><th>Request Tracing Directory</th><td>&nbsp;&nbsp;&nbsp;C:\Users\abdelrahman.Mohamed\Documents\IISExpress\TraceLogFiles\WEBSERVICE</td></tr> 
    </table> 
    <div class="clear"></div> 
    </div> 
</fieldset> 
</div> 

<div class="content-container"> 
<fieldset><h4>More Information:</h4> 
    This is a security feature. Do not change this feature unless the scope of the change is fully understood. You can configure the IIS server to reject requests whose query string is greater than a specified value. If the request's query string is greater than the configured value, this error is returned. If the allowed length of the query string needs to be increased, modify the configuration/system.webServer/security/requestFiltering/[email protected] setting. 
    <p><a href="http://go.microsoft.com/fwlink/?LinkID=62293&amp;IIS70Error=404,15,0x00000000,10240">View more information &raquo;</a></p> 

</fieldset> 
</div> 
</div> 
</body> 
</html> 

这里是我的web服务:

[HttpPost] 
     [ActionName("GetImage")] 
     public string GetImage(string base64String, string imgName) 
     { 
      try 
      { 
      byte[] imageBytes = Convert.FromBase64String(base64String); 
       MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length); 


       ms.Write(imageBytes, 0, imageBytes.Length); 
       System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true); 

       File.WriteAllBytes(Path.Combine 
       (@"F:\FileManager\" 
       , imgName 
       ) 
       , imageBytes 
      ); 

       return "Success"; 
      } 
      catch (Exception ex) 
      { 
       return ex.Message; 
      } 
     } 

我不知道我是否需要做一些事情我的web.config或最小化base64string的长度。任何想法。谢谢

回答

0

是的,你需要在web.config中进行更改。当你看到提供的错误它说

这是一个安全功能。除非完全了解变更的范围,否则请勿更改此功能。您可以将IIS 服务器配置为拒绝其查询字符串大于 指定值的请求。如果请求的查询字符串大于 配置的值,则返回此错误。如果需要增加查询字符串的允许长度 configuration/system.webServer/security/requestFiltering/[email protected] 设置。

以下添加到您的web.config

<httpRuntime maxQueryStringLength="32768" maxUrlLength="65536"/> 

requestFiltering [IIS Settings Schema]Request FilteringhttpRuntime Element (ASP.NET Settings Schema)在以下参考requestLimits元素描述。

+0

当我添加我得到错误:当读取Web服务器或Web应用程序的配置文件时出现此错误。在某些情况下,事件日志可能包含有关导致此错误的更多信息。 – prime

+0

web.config已损坏。你能否请检查一下httpRuntime是否已经存在,如果你在web.config的''里面插入它并且发布你的web.config。 – STORM

+0

是的,它正在工作,但我可以增加这个值? – prime