ASP.NET中的单文件上载检查
以下代码传输文件成功,但未在标签中打印该文件已传输。尽管其他的检查显示得很完美。这里面有逻辑上的厄洛尔吗ASP.NET中的单文件上载检查,asp.net,file,upload,Asp.net,File,Upload,以下代码传输文件成功,但未在标签中打印该文件已传输。尽管其他的检查显示得很完美。这里面有逻辑上的厄洛尔吗 if (txtFile1.HasFile) { var folderfile1 = Server.MapPath("~/files/Operations_Support/IMSI"); string flFile1 = txtFile1.PostedFile.FileName; string saveflFile
if (txtFile1.HasFile)
{
var folderfile1 = Server.MapPath("~/files/Operations_Support/IMSI");
string flFile1 = txtFile1.PostedFile.FileName;
string saveflFile1 = folderfile1 + "\\" + System.IO.Path.GetFileName(flFile1);
FileInfo Finfo = new FileInfo(txtFile1.PostedFile.FileName);
if (Finfo.Extension.ToLower() == ".txt")
{
if (txtFile1.PostedFile.ContentLength < 1024)
{
//if (!File.Exists(folderfile1))
if (Directory.GetFiles(folderfile1).Length == 0)
{
txtFile1.SaveAs(saveflFile1);
//lbFile1.Visible = true;
lbFile1.Text = "Upload status: IMSI file transfered successfully";
}
else
{
lbFile1.Text = "Upload status: Please wait until the previous file is processed";
}
}
else
lbFile1.Text = "Upload status: The file has to be less than 1 kb!";
}
else
lbFile1.Text = "Upload status: Only Text files are accepted!";
}
else
{
lbFile1.Visible = true;
lbFile1.Text = "Upload status: Please select file";
}
if(txtFile1.HasFile)
{
var folderfile1=Server.MapPath(“~/files/Operations\u Support/IMSI”);
字符串flFile1=txtFile1.PostedFile.FileName;
字符串saveflFile1=folderfile1+“\\”+System.IO.Path.GetFileName(flFile1);
FileInfo Finfo=newfileinfo(txtFile1.PostedFile.FileName);
if(Finfo.Extension.ToLower()=“.txt”)
{
if(txtFile1.PostedFile.ContentLength<1024)
{
//如果(!File.Exists(folderfile1))
if(Directory.GetFiles(folderfile1.Length==0)
{
txtFile1.SaveAs(saveflFile1);
//lbFile1.Visible=true;
lbFile1.Text=“上传状态:IMSI文件传输成功”;
}
其他的
{
lbFile1.Text=“上传状态:请等待上一个文件处理完毕”;
}
}
其他的
lbFile1.Text=“上传状态:文件必须小于1KB!”;
}
其他的
lbFile1.Text=“上载状态:仅接受文本文件!”;
}
其他的
{
lbFile1.Visible=true;
lbFile1.Text=“上传状态:请选择文件”;
}
使用File.Exists方法
使用
文件。如下所示:
var folderfile4 = Server.MapPath("~/files/Path");
string saveflFile4 = folderfile4 + "\\" + System.IO.Path.GetFileName(flFile4);
if(!File.Exists(saveflFile4))
txtFile4.SaveAs(saveflFile4);
else
txtError.Text = "File exists";
Server.MapPath
返回服务器上的物理路径,因此可以使用File.Exists
检查文件是否存在。Hi,我使用的是var folderfile4=Server.MapPath(“~/files/path”);它不是本地目录。它的服务器目录路径…它仍将如nunespascal所说的那样工作,但是您可能有一些权限问题。我看到您实现了文件。存在,您现在遇到了什么问题?它总是返回true?确切地说,如果目标文件夹中有文件,它每次都在传输文件。如果目标文件夹为空,我只想传输文件。您将从上载的文件中获取文件名。因此,File.Exists
仅当再次上载同一文件时才会返回true。如果希望一次只允许一个文件,请在服务器上使用固定的文件名<代码>字符串saveflFile4=Server.MapPath(“~/files/Path/processingFile.dat”)代码>每次上传文件时,我的要求都会改变。是否有任何方法可以检查文件是否仅在目标文件夹为空时传输,请协助?Directory.GetFiles(folderfile4).Length==0
将检查dir是否为空。