使用Filestream将文件另存为不同的文件名

时间:2013-07-16 19:10:44

标签: asp.net vb.net itextsharp itext

我使用下面的代码使用itextsharp保存pdf。问题是它保存的时间,它会覆盖以前的文件。有没有办法让每次使用不同的名称创建一个新文件?

    Dim Doc1 As New Document
    Dim path As String = Server.MapPath("PDFs")
    PdfWriter.GetInstance(Doc1, New FileStream(path & "/Doc1.pdf", FileMode.Create))
    Doc1.Open()
    Dim test As String
    test = Session("PDF")
    Doc1.Add(New Paragraph(test))

    Doc1.Close()

2 个答案:

答案 0 :(得分:1)

尝试此操作:将Guid附加到文件名

Dim fileName As String = Guid.NewGuid() & "_Doc1.pdf"
PdfWriter.GetInstance(Doc1, New FileStream(path & "/" & fileName , FileMode.Create))

答案 1 :(得分:1)

如果可读性无关紧要,请使用Guid,如下所示:

Dim myUniqueFileName = String.Format("{0}.txt", Guid.NewGuid())

如果可读性很重要,那么我建议添加日期/时间,如下所示:

Dim myUniqueFileName = String.Format("PDF_{0}.txt", DateTime.Now.[Date].Month.ToString() + DateTime.Now.[Date].Day.ToString() + DateTime.Now.[Date].Year.ToString() + "_" & DateTime.Now.TimeOfDay.ToString())