【问题标题】:ASP FileUpload: Field has been reset by validationASP FileUpload:字段已通过验证重置
【发布时间】:2013-01-21 16:01:42
【问题描述】:

我在使用 FileUpload 和验证 TextBox 时遇到问题。

  1. 我从硬盘中选择了一个有效文件,然后在文本框中输入了无效文本。
  2. 单击提交按钮,文本框的服务器验证返回失败并显示定义的错误消息(无效文本仍在框中)。

不幸的是,“某人”从文件上传表单中清除了选择的路径。为什么?我该如何预防呢?

【问题讨论】:

  • 您是在更新面板中执行此操作吗?
  • @DJKRAZE 两者都在同一个面板中,但不是更新面板

标签: c# asp.net validation file-upload


【解决方案1】:

出于安全考虑,像 chrome 或 ff 或 ... 之类的浏览器不会为您提供输入文件的物理路径,因此例如,如果您在 chrome 中获取 fileupload 的值,它将返回 'c:/fakepath/myfile. txt' 并带有回发,因为在请求和响应中没有文件系统上文件真实路径的信息,浏览器将其清除,您应该一次又一次地选择文件。

【讨论】:

    【解决方案2】:

    这是您可以添加到页面的内容 这里还有一个链接,解释了如何使用以及为什么File Upload not working with update panel

    Page.Form.Attributes.Add("enctype", "multipart/form-data");
    

    这也是另一种可能的解决方法

    将您的文件上传器和提交按钮放在另一个更新面板中,并为此更新面板添加回发触发器。

    如果你想使用 AsyncFileUpload 这里也是一个例子 AsyncFileUpload

    【讨论】:

      猜你喜欢
      • 2016-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多