【问题标题】:HTTP Error 400 - Bad Request due to FileUpload control in vb.netHTTP 错误 400 - 由于 vb.net 中的 FileUpload 控制导致的错误请求
【发布时间】:2012-07-09 18:09:24
【问题描述】:

我有一个 Web 表单(.net 框架 4),其中包含一个提交按钮和一个 FileUpload 控件。当我从 Visual Studio 2010 调试网站时,表单按预期显示。当我上传大小 > 438k 的文件时(根据我的观察。最大文件大小的实际值是未知的,但对于大小为 200K 的文件,它正在工作),单击按钮时出现以下错误。

Server Error in '/Dpp2012New' Application.
HTTP Error 400 - Bad Request.
Version Information: ASP.NET Development Server 10.0.0.0 

当我上传大小小于上述限制的文件时,代码正常运行。 onclick 事件处理程序代码隐藏为:

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    If FileUpload1.HasFile Then
        MsgBox("Has file!")
    End If
End Sub

在网上搜索后(this SO post),我在web.config中添加了这个:

    <system.web>
        <httpRuntime  maxRequestLength="102400" executionTimeout="360"/>
    </system.web>

这应该已经解决了这个问题。但它没有。 任何解决问题的帮助将不胜感激。

【问题讨论】:

  • 您是否启用了自定义错误页面,或者调试的第一次机会例外?
  • 自定义错误页面是什么意思?还是第一次机会例外?以及如何检查它们是否启用?@STW
  • 提交按钮里面有什么代码?
  • @WaqarJanjua pastebin.com/4sDHqQfX
  • @rahulserver 请在此处发布您的代码,而不是在外部来源。

标签: asp.net vb.net http


【解决方案1】:

请调试您的站点并检查您是否连接到数据库?我认为你没有连接。 如果您在上传大文件时遇到问题,则必须将以下属性添加到您的 webconfig 文件中。

<system.web> 
<httpRuntime executionTimeout="110" maxRequestLength="20000" /> 
</system.web>

maxRequestLength 是最大文件大小。

更新答案: 在其他浏览器上运行您的网站,例如 google chrome、Internet Explorer。

【讨论】:

  • 是的,我已连接到数据库。connectionString变量在vb文件开头定义为全局变量。我尝试调试该站点,但它没有到达断点,甚至在 onclick 事件处理程序的起始行!在它给出 400 错误之前!
  • 尝试一件事,在站点中添加一个新页面,将整个代码从该页面复制到新页面,并检查该代码是否适用于新页面。
  • 仍然不起作用。然后我用一个简单的按钮和一个文本框创建了一个新页面。在按钮的 onclick 处理程序中,我放置了一个消息框,显示使用 javascript alert 在文本框中输入的内容。它可以工作.这说明有问题的表单的onclick事件处理程序有问题。
  • 如果您无法调试网站,那么问题可能出在您的网站上。您的代码看起来不错。
  • 这是一个浏览器问题。问题不在 chrome 或 ie 中。但在 Mozilla
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-02
  • 2016-10-13
  • 1970-01-01
  • 1970-01-01
  • 2021-12-23
相关资源
最近更新 更多