提问人:starspejd 提问时间:10/28/2023 最后编辑:starspejd 更新时间:10/31/2023 访问量:70
ASP.Net FileUpload 不接受超过 10 MB 的文件
ASP.Net FileUpload won't accept files over the size of 10 MB
问:
编辑:在下面添加了FileUpload。 编辑2:所以,我找到了一个解决方案,但它很愚蠢。我尝试使用额外的 FileUpload,它很好地接受了更大的文件。甚至在同一页上,甚至在第一个页面之后。然而,删除第一个并留下新的没有帮助,所以我的解决方案是一个愚蠢的解决方法 - 有两个并隐藏第一个。
<asp:FileUpload ID="FileUpload2" runat="server" />
</div>
<div class="u-active-custom-color-2 u-border-2 u-border-white u-btn u-btn-round u-button-style u-custom-color-3 u-custom-font u-heading-font u-hover-custom-color-1 u-radius-30">
<asp:FileUpload ID="FileUploadPpt" runat="server" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="FileUploadPpt"
ValidationExpression="(.+\.([Pp][Pp][Tt][Xx])|.+\.([Pp][Pp][Tt]))"></asp:RegularExpressionValidator>
<asp:Label ID="LabelPptFile" runat="server" Text=""></asp:Label>
</div>
我知道这不是一个好的选择,但似乎没有其他选择。即使只是在 fileUpload 上使用 visable 属性也会导致它中断,因此有两个 div 块。我离开这个,以防其他人遇到同样的问题......
原题: 我已经挣扎了几个小时了,我已经一筹莫展了。
我有一个asp:FileUpload控制器,它允许用户上传文件。我想允许更大的文件,所以我尝试将限制设置为 50 MB,如下面的配置文件除外所示。但是,当我尝试选择大小超过 10 MB 的文件时,控件不会抓取该文件。任何小于 10 MB 的内容都可以,并且会显示名称,但高于此范围只是说没有选择任何文件。我已经检查了我的控件,它没有限制。背后的代码是 c#,但此时它还没有被触发,所以它应该不太相关。
任何提示或建议都是值得赞赏的。
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
https://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<!-- Traditional API: Register a custom SessionIDManager for BotDetect requests -->
<compilation targetFramework="4.7.2" debug="false" />
<httpRuntime targetFramework="4.7.2" maxRequestLength="51200" requestLengthDiskThreshold="51200" executionTimeout="3600"/>
</system.web>
<appSettings>
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<system.codedom>
<compilers>
<compiler extension=".cs" language="c#;cs;csharp" warningLevel="4" compilerOptions="/langversion:7.3 /nowarn:1659;1699;1701;612;618" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<compiler extension=".vb" language="vb;vbs;visualbasic;vbscript" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008,40000,40008 /define:_MYTYPE=\"Web\" /optionInfer+" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</compilers>
</system.codedom>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="52428800" /><!--50MB-->
</requestFiltering>
</security>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
</configuration>
<div class="u-active-custom-color-4 u-align-center-sm u-align-center-xs u-border-2 u-border-custom-color-4 u-btn u-btn-round u-button-style u-custom-color-6 u-custom-font u-heading-font u-hover-custom-color-5 u-radius-30">
<asp:FileUpload ID="FileUploadPpt" runat="server" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="FileUploadPpt"
ValidationExpression="(.+\.([Pp][Pp][Tt][Xx])|.+\.([Pp][Pp][Tt]))"></asp:RegularExpressionValidator>
<asp:Label ID="LabelPptFile" runat="server" Text=""></asp:Label>
</div>
一旦客户单击页面末尾的“创建”按钮,就会运行服务器端脚本,该脚本将进行实际上传。但我们甚至没有走那么远......
答:
所以,我找到了一个解决方案,但它很愚蠢。我尝试使用额外的 FileUpload,它很好地接受了更大的文件。甚至在同一页上,甚至在第一个页面之后。然而,删除第一个并留下新的没有帮助,所以我的解决方案是一个愚蠢的解决方法 - 有两个并隐藏第一个。
<asp:FileUpload ID="FileUpload2" runat="server" />
</div>
<div class="u-active-custom-color-2 u-border-2 u-border-white u-btn u-btn-round u-button-style u-custom-color-3 u-custom-font u-heading-font u-hover-custom-color-1 u-radius-30">
<asp:FileUpload ID="FileUploadPpt" runat="server" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="FileUploadPpt"
ValidationExpression="(.+\.([Pp][Pp][Tt][Xx])|.+\.([Pp][Pp][Tt]))"></asp:RegularExpressionValidator>
<asp:Label ID="LabelPptFile" runat="server" Text=""></asp:Label>
</div>
我知道这不是一个好的选择,但似乎没有其他选择。即使只是在 fileUpload 上使用 visable 属性也会导致它中断,因此有两个 div 块。我离开这个,以防其他人遇到同样的问题......
评论