[英]ASP.NET File Upload control File.Exists always returns false
在我的應用程序中,我必須讓用戶將文件上傳到系統中,並且我有以下代碼:
<asp:FileUpload ID="CSVFileUpload" runat="server" CssClass="TextInput" Width="250" />
<asp:LinkButton ID="lbnUploadCSVFile" runat="server" CssClass="MainLinkWithSpaces" OnClick="lbnUploadCSVFile_Click">Upload CSV file</asp:LinkButton>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" CssClass="warning" runat="server" ControlToValidate="CSVFileUpload" ErrorMessage="Please Upload a File!"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" CssClass="warning" runat="server" ControlToValidate="CSVFileUpload"
ErrorMessage="Please make sure you upload a csv file!" ValidationExpression=".*\.csv$"></asp:RegularExpressionValidator>
<asp:Label ID="lblUploadError" Runat="server" Visible="True" CssClass="warning" Text=""></asp:Label>
在后面的代碼中,我總是檢查上載的文件是否存在,但是我的問題是,盡管文件位於指定位置的磁盤上,但File.Exists總是返回false。
protected void lbnUploadCSVFile_Click(object sender, EventArgs e)
{
lblUploadError.Text = "";
if (CSVFileUpload.HasFile)
{
if (CSVFileUpload.FileName.ToString() != String.Empty)
{
// make sure the uploaded file exists
if(File.Exists(CSVFileUpload.FileName))
{
// upload file
}
}
}
}
可能是什么原因呢? 我對此完全感到迷迷糊糊。 我還提到使用localhost時,我的文件存在,並且已成功上傳。 非常感謝!
我也有同樣的問題。 但是我在其他頁面中使用了相同的代碼,效果很好,但在此頁面中卻無法正常工作。 有一點區別。 在這里,我在HTML表中使用了上載控件,它們都在aspx面板中。 我也像以前一樣添加了觸發器。 當我將上傳控件放到表外(在面板中)時,它起作用了。
<asp:Panel ID="Topic_Pnl" runat="server"> <table> <tr> <td colspan="2" height="20"> <asp:FileUpload ID="my_Uld" runat="server" TabIndex="15" /> <asp:CheckBox ID="myChB" runat="server" AutoPostBack="True" OnCheckedChanged="myChB_CheckedChanged" TabIndex="20" Text="ok" /> </td> </tr> </table> </panel>
當用戶單擊復選框時,事件運行,我檢查上載的文件並保存。但是總是要檢查答案是否為(my_Uld.HasFile)為false
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.