Kas*_*yap -2 c# asp.net file-io file-upload file
我想要c#中特定文件夹的文件名.
我正在使用以下代码
string[] filePaths = Directory.GetFiles(@"c:\MyDir\");
Run Code Online (Sandbox Code Playgroud)
我不想使用getfiles函数,因为它被进程锁定.我只想要文件名,而不是整个路径.
我怎样才能做到这一点?
这是我的完整代码.
protected void Button1_Click(object sender, EventArgs e)
{
if (Directory.Exists(Server.MapPath("Import\\")))
{
if (FileUpLoad1.HasFile)
try
{
FileUpLoad1.SaveAs(Server.MapPath("Import\\" + FileUpLoad1.FileName));
Label1.Text = FileUpLoad1.FileName;
}
catch (Exception ex)
{
Label1.Text = "ERROR: " + ex.Message.ToString();
}
else
{
Label1.ForeColor = System.Drawing.Color.Red;
Label1.Text = "No File Uploaded.";
}
}
else
{
DirectoryInfo di = Directory.CreateDirectory(Server.MapPath("Import\\"));
if (FileUpLoad1.HasFile)
try
{
FileUpLoad1.SaveAs(Server.MapPath("Import\\" + FileUpLoad1.FileName));
Label1.Text = FileUpLoad1.FileName;
}
catch (Exception ex)
{
Label1.Text = "ERROR: " + ex.Message.ToString();
}
else
{
Label1.ForeColor = System.Drawing.Color.Red;
Label1.Text = "No File Uploaded.";
}
}
}
protected void Button2_Click(object sender, EventArgs e)
{
string[] filePaths = Directory.GetFiles(Server.MapPath("Import"));
PdfDocument pdfDoc = new PdfDocument();
foreach (var item in filePaths)
{
PdfPage pdfPage = new PdfPage();
pdfPage.Size = PageSize.Letter;
pdfDoc.Pages.Add(pdfPage);
using (var pdfGfx = XGraphics.FromPdfPage(pdfPage))
{
pdfGfx.DrawImage(XImage.FromFile(item), 0, 0);
}
}
pdfDoc.Save(Server.MapPath("PDF\\")+ "vivek.pdf");
pdfDoc.Dispose();
pdfDoc.Close();
Label1.Text = "pdf sucessfully created.";
}
protected void Button3_Click(object sender, EventArgs e)
{
System.IO.Directory.Delete(Server.MapPath("Import\\"),true);
}
Run Code Online (Sandbox Code Playgroud)
按钮1用于导入,按钮2用于从jpg创建pdf,按钮3用于删除jpg文件
您可以使用以下代码获取没有完整路径的文件名
DirectoryInfo dirInfo = new DirectoryInfo(@"c:\MyDir\");
List<string> filenames = dirInfo.GetFiles().Select(i => i.Name).ToList();
Run Code Online (Sandbox Code Playgroud)