2
我试图在互联网上搜索问题,我发现每个人都在问UpdatePanel内的FileUpload控件的问题。首先,我没有使用UpdatePanel。下面是我的代码:FileUpload1.HasFile为False
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是假的,但fuImport.FileName只给出文件名。例如,如果我选择c:\1.txt
,它只给出"1.txt"
。 任何人都可以让我知道为什么fuImport.HasFile是假的,虽然我选择了一个文件?
这很奇怪。我正在给你一个关于这个问题的+1。它应该肯定返回True,根据这里的文档:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.hasfile.aspx – Icarus 2013-03-12 15:19:33
为什么要FileUpload.Filename返回绝对文件名(“C:\ 1.txt”)?这是文件在客户端浏览器的位置,而不是服务器上的文件? – mortb 2013-03-12 15:20:35
@mortb问题不在于他得到“1.txt”而不是“c:\ 1.txt”。这一点非常重要。重要的是'HasFile'应该肯定会返回true。 – Icarus 2013-03-12 15:23:46