[英]System.OutOfMemoryException with asp:FileUpload
我有一個 ASP.NET 頁面,里面有一個 FileUpload 控件。 當我嘗試上傳第三個文件時,我得到:
System.OutOfMemoryException 在 System.Convert.FromBase64String(String s) 在 System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) 在 System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) 在System.Web.UI.HiddenFieldPageStatePersister.Load() 處的 System.Web.UI.Util.DeserializeWithAssert(IStateFormatter 格式化程序,字符串序列化狀態)
這是我的代碼:
<td style="width: 60%; height: 67px; vertical-align: top">
<div class="fileinputs" id="div2" style="left: 0px; top: 0px; width: 100%; vertical-align: middle">
<div id="div3" class="fakefile" style="left: 0px; top: 0px; vertical-align: middle">
<asp:TextBox ID="txtFileUpload" runat="server" Width="265px" CssClass="borde-form"
Height="15px" ValidationGroup="docs" />
<img name="imgExaminar" alt="Examinar" src="../../Images/botExaminar.gif" style="cursor: hand;
width: 81px; height: 20px; vertical-align: middle" />
</div>
<asp:FileUpload EnableViewState="true" ID="fileUpload" runat="server" Width="368px"
Height="19px" CssClass="hidden" />
</div>
<asp:CustomValidator ID="cvattachment" runat="server" OnServerValidate="cvattachment_ServerValidate"
ControlToValidate="fileUpload" ErrorMessage="Existe un archivo con el mismo nombre"
Font-Bold="False" Font-Names="Arial" Font-Size="X-Small" ValidationGroup="docs"></asp:CustomValidator>
</td>
<td style="width: 30%; height: 67px; vertical-align: top">
<asp:ImageButton ID="imgAdjuntar" runat="server" ImageUrl="~/Images/botAdjuntar.GIF"
OnClick="imgAdjuntar_Click" ValidationGroup="docs" Height="20px" Width="66px"></asp:ImageButton>
</td>
當我單擊我的 imgAdjuntar 時,我收到錯誤消息,但從未調用 imgAdjuntar_Click 方法,而是觸發 Global.asax 上的 Application_Error。 另外,我的斷點都沒有被單步執行,錯誤發生在到達應用程序代碼之前。
也許控制是失敗的? 我能做什么?
謝謝!
確保您沒有在ViewState中存儲文件。
此外,嘗試禁用整個頁面的ViewState。
檢查以下踏板,這可能會有所幫助:
我也有同樣的問題,但我沒有在代碼中的任何地方使用 ViewSate。 我改用全局變量。
如何解決內存不足異常的問題? 請幫忙。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.