【问题标题】:FileUpload1.HasFile is FalseFileUpload1.HasFile 为 False
【发布时间】:2013-03-12 15:15:28
【问题描述】:

我试图在互联网上搜索问题,我看到每个人都在询问 UpdatePanel 中的 FileUpload 控件的问题。首先,我没有使用 UpdatePanel。以下是我的代码:

HTML

<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" method="post" runat="server" enctype="multipart/form-data">
    <div>
        <asp:FileUpload ID="fuImport" runat="server" />
        <asp:Button ID="btnImport" runat="server" Text="Import" />
    </div>
    </form>
</body>
</html>

代码背后

Protected Sub btnImport_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnImport.Click
    If (fuImport.HasFile) Then
        fuImport.SaveAs(My.Settings.FileImportPath & Path.GetFileName(fuImport.FileName))
    End If
End Sub

我看到 fuImport.HasFile 为 False,但 fuImport.FileName 只给出了文件名。例如,如果我选择c:\1.txt,它只会给出"1.txt"。 谁能告诉我为什么 fuImport.HasFile 是 False 虽然我选择了一个文件?

【问题讨论】:

  • 这很奇怪。我给你一个+1的问题。根据此处的文档,它绝对应该返回 True:msdn.microsoft.com/en-us/library/…
  • 为什么 FileUpload.Filename 应该返回绝对文件名(“C:\1.txt”)?这是客户端浏览器中文件的位置,在您的服务器上无效?
  • @mortb 问题不在于他得到“1.txt”而不是“c:\1.txt”。在这一点上这无关紧要。重要的是HasFile 绝对应该返回 true。
  • 是的,我明白了。评论有点太快了...
  • 你在哪里连接 btnImport 到你展示的事件处理程序?

标签: asp.net vb.net file-upload


【解决方案1】:

我找到了答案。我上传的 txt 文件是空的。我编辑了文本文件,然后通过在其中输入内容来保存。我在 msdn 中提到的任何地方都找不到这个,或者我不确定我是否看错了地方。 Kasys 在this post 的建议帮助了我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多