0
在我的應用程序必須讓用戶上傳文件到系統中,我有這樣的代碼:ASP.NET文件上傳控制File.Exists始終返回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
}
}
}
}
可能是什麼原因?我完全被這個困惑了。我還提到,使用本地主機時,我的文件存在,併成功上傳。非常感謝!
您需要首先保存文件... .NET框架不會爲您做到這一點。 – 2013-03-07 13:40:20
謝謝,你救了我的一天!現在可以工作了! :) – Crista23 2013-03-07 14:07:00
它檢查文件是否存在於服務器而不是客戶端 – Gherbas 2013-03-07 15:05:15