server.mappath中的相对路径

时间:2014-01-13 20:23:36

标签: path itextsharp relative-path filepath

我正在使用iTextSharp从文件路径读取pdf文件,在浏览器中编辑并打开文件。

以下代码在我本地运行时工作正常。在我发布并托管它之后,我无法从文件路径中读取该文件。我想我在相对路径上犯了一些错误。

 string path = System.Web.HttpContext.Current.Server.MapPath("~/Doc/template.pdf");

请帮帮我。

using iTextSharp.text.pdf;


     private void GeneratePDF()
     {

         byte[] bytes = null;



         using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
         {

            string path = System.Web.HttpContext.Current.Server.MapPath("~/Doc/template.pdf");
             // Create the form filler
             using (PdfReader pdfReader = new PdfReader(path))
             {
                 using ( PdfStamper pdfStamper = new PdfStamper(pdfReader, ms))
                 {
                     StringBuilder sbstring = null;
                     // Get the form fields
                     AcroFields testForm = pdfStamper.AcroFields;
                    ....
                    ....

                     PdfContentByte overContent = pdfStamper.GetOverContent(1);
                     pdfStamper.FormFlattening = true;
                 }
             }
             bytes = ms.ToArray(); 
         }

         //Writes it back to the client
         Response.Clear();
         Response.ContentType = "application/pdf";
         Response.AddHeader("content-disposition", "attachment;  filename=" + 
         sbFileName.ToString() + "");
         Response.BinaryWrite(bytes);
     }
}

1 个答案:

答案 0 :(得分:0)

相对路径是正确的。我检查了日志和部署的文件夹。 pdf文件未包含在包中。完成后,它工作正常。