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