Bob*_*one 23 .net c# webforms file-upload
我正在使用asp:FileUpLoad上传文件在我的asp.net c#项目中.只要文件大小不超过允许的最大值,这一切都可以正常工作.超过最大值时.我收到错误" Internet Explorer cannot display the webpage".问题是try catch块没有捕获错误所以我不能给出user a friendly message他们已经删除了允许的大小.我在搜索网页时看到过这个问题,但我找不到合适的解决方案.
我会看看其他控件,但我的管理可能不会购买第三方控件.
根据建议ajac的答案,我需要添加此评论.几个月前我试图加载ajax控件.一旦我使用ajax控件,我就会收到此编译错误.
错误98"System.Web.UI.ScriptControl"类型在未引用的程序集中定义.您必须添加对程序集'System.Web.Extensions,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'的引用.
我可以摆脱它,虽然我添加' System.Web.Extensions'.所以我放弃了Ajax并使用了其他技术.
所以我需要解决这个问题或一个全新的解决方案.
Muh*_*tar 30
默认文件大小限制为(4MB),但您可以通过在上载页面所在的目录中删除web.config文件,以本地化方式更改默认限制.这样你就不必让你的整个网站允许大量上传(这样做会让你受到某种攻击).
只需在该<system.web>部分下的web.config中进行设置即可.例如,在下面的例子中,我设置了最大长度2GB
<httpRuntime maxRequestLength="2097152" executionTimeout="600" />
Run Code Online (Sandbox Code Playgroud)
请注意,maxRequestLength它以KB为单位设置,可以设置为2GB (2079152 KB's).实际上我们通常不需要设置2GB请求长度,但如果将请求长度设置得更高,我们还需要增加executionTimeout.
Execution Timeout Specifies the maximum number of seconds that a request is allowed to execute before being automatically shut down by ASP.NET. (Default time is 110 seconds.)
有关详细信息,请阅读httpRuntime元素(ASP.NET设置架构)
现在,如果要向用户显示自定义消息,如果文件大小大于100MB.
你可以这样做..
if (FileUpload1.HasFile && FileUpload1.PostedFile.ContentLength > 104857600)
{
//FileUpload1.PostedFile.ContentLength -- Return the size in bytes
lblMsg.Text = "You can only upload file up to 100 MB.";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15215 次 |
| 最近记录: |