簡體   English   中英

Base64字符串太長

[英]Base64 string is too long

我已經使web服務從android應用程序接收base64string和圖像名稱。 但是問題是當我將base64string的值傳遞給webservice時出現錯誤

</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/requestLimits@maxQueryString 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=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</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/requestLimits@maxQueryString 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> 

這是我的網絡服務:

[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的長度。 任何想法。謝謝

是的,您需要在web.config中進行更改。 當您查看所提供的錯誤時,它會說

這是一項安全功能。 除非完全了解更改的范圍,否則請勿更改此功能。 您可以將IIS服務器配置為拒絕查詢字符串大於指定值的請求。 如果請求的查詢字符串大於配置的值,則返回此錯誤。 如果需要增加查詢字符串的允許長度,請修改configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryString設置。

將以下內容添加到您的web.config中

<system.webServer>
  <security>
    <requestFiltering>
      <requestLimits maxQueryString="32768"/>
    </requestFiltering>
  </security>
</system.webServer>

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

如以下參考中所述,用於requestFiltering [IIS設置架構]Request FilteringhttpRuntime元素(ASP.NET設置架構)的 requestLimits元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM