【问题标题】:Save inside any folder instead in Desktop保存在任何文件夹中,而不是在桌面中
【发布时间】:2015-11-12 06:34:57
【问题描述】:

代码:

Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=pdfpage.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);

我使用上面的代码允许我的网络应用程序的用户在他自己的设备上保存在服务器上生成的 PDF。该文件在桌面上保存为pdfpage.pdf,但我需要将此文件保存在任何文件夹中。例如E:\PDFs\pdfpage.pdf

【问题讨论】:

  • 您的代码只是添加 HTTP 标头而不是保存任何内容。执行保存所需的代码。

标签: c# .net pdf itextsharp httpresponse


【解决方案1】:

你的问题是错误的。我纠正了一部分。部分仍然是错误的:您声称 PDF 保存在桌面上。当您对其进行测试时,这可能是正确的,但通常情况并非如此。例如:如果我要使用您的应用程序,PDF 将保存在我的浏览器设置中定义的下载文件夹中

无法通过在服务器端设置参数来定义客户端浏览器的下载文件夹。

有一些非常简单的原因可以解释你所要求的东西是不可能的:

  1. 服务器不知道客户端的文件结构。例如:我的电脑上没有E: 磁盘,所以如果您将下载文件夹定义为E:\PDFs\pdfpage.pdf,您的Web 应用程序将无法运行。
  2. 如果服务器能够读取客户端计算机的整个文件夹结构以检测 PDF 文件的保存位置,这将是一个严重的安全问题。

您要求在最终用户的浏览器中在客户端进行配置。这不能在服务器端配置。例如:我在我的机器上使用 Chrome、Firefox 和 Edge。我为这些不同的浏览器定义了不同的下载文件夹。如果我在一个浏览器中使用您的网络应用程序,它会根据我使用的浏览器将 PDF 下载到不同的文件夹中。

【讨论】:

    猜你喜欢
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2022-01-28
    相关资源
    最近更新 更多