【问题标题】:How to save a PDF file in asp.net?如何在 asp.net 中保存 PDF 文件?
【发布时间】:2014-06-16 13:20:31
【问题描述】:

我使用流动代码创建了一个 pdf 文件。当我运行我的代码时,生成的 pdf 文件存储在下载文件夹中。我想改变这条路。我想将它保存到我的解决方案中。我该怎么做?

这是代码:

            Document pdfDoc = new Document(new Rectangle(624f, 568f),0f,0f,0f,0f);
            try
            {
                PdfWriter.GetInstance(pdfDoc, System.Web.HttpContext.Current.Response.OutputStream);
                pdfDoc.Open();
                string imageFilePath = System.Web.HttpContext.Current.Server.MapPath("../images/1.jpg");
                iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(imageFilePath);

                jpg.ScaleToFit(624f, 468f);
                pdfDoc.Add(jpg);
                pdfDoc.Close();
                Response.ContentType = "application/pdf";


                Response.AddHeader("content-disposition", "attachment; filename= " + System.DateTime.Now.ToString("yyyyMMdd_HHmmssff") + ".pdf");

                Response.End(); 

            }
            catch (DocumentException de)
            {
                System.Web.HttpContext.Current.Response.Write(de.Message);
            }

【问题讨论】:

  • 当您在服务器上生成文件并通过 HTTP 提供它时,您无法控制最终用户将其保存在何处。对不起。
  • 你在哪里写内容?你错过了一些代码..
  • @AnimeshGhosh:服务器端代码不知道客户端的文件系统。 (有很多很好的理由。)客户端决定文件的保存位置(甚至如果)。
  • lamkrillin 他仍然可以将文件保存到他的本地机器他还可以为 .pdf 文件生成唯一的文件名,但他也缺少一些响应代码
  • @iamkrillin:: 我想在服务器中保存一个指定文件夹,这个 pdf 将保存在该文件夹中。用户无法更改此路径。那么我该怎么做呢?

标签: c# asp.net pdf pdf-conversion


【解决方案1】:

我想在服务器中保存一个指定的文件夹,这个 pdf 将保存在该文件夹中。

你不能。服务器端代码对客户端文件系统一无所知(不能)。这是出于多种架构和安全原因。

用户无法更改此路径。

如果他们通过网络浏览器访问它,他们肯定可以。除了编写自己的自定义 Web 浏览器外,用户还可以指定他们想要保存文件的位置。 (或者如果他们想保存它们。)

那么我该怎么做呢?

要么编写一个自定义 Web 浏览器并要求您的用户仅从该浏览器访问您的 Web 应用程序,要么编写一个用于传输文件(以及您需要的任何其他功能)的客户端应用程序并要求您的用户改用该应用程序他们的网络浏览器。

Web 应用程序无法访问客户端文件系统。

【讨论】:

    【解决方案2】:

    我认为你可以使用以下方法

    HttpContext.Current.Server.MapPath()
    

    更多信息here

    【讨论】:

    • 这与 OP 的要求完全无关
    猜你喜欢
    • 2019-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 2018-10-18
    • 2020-01-04
    相关资源
    最近更新 更多