保存在任何文件夹内而不是桌面

时间:2015-08-19 05:45:00

标签: c# .net pdf itextsharp httpresponse

代码:

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

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

1 个答案:

答案 0 :(得分:1)

你的问题是错的。我纠正了部分内容。部分原因仍然是错误的:您声称PDF已保存在桌面上。当你测试它时可能是这样,但总的来说这不是真的。例如:如果我要使用您的应用程序,PDF将保存在我的浏览器设置中定义的下载文件夹中。

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

有一些非常简单的理由可以解释你所要求的是不可能的:

  1. 服务器不知道客户端上的文件结构。例如:我的计算机上没有E:磁盘,因此,如果您将下载文件夹定义为E:\PDFs\pdfpage.pdf,则您的网络应用程序将无法运行。
  2. 如果服务器能够读取客户端计算机的整个文件夹结构以检测保存PDF文件的位置,那将是一个严重的安全问题。
  3. 您要求在最终用户的浏览器中在客户端配置某些内容。这不能在服务器端配置。例如:我在我的机器上使用Chrome,Firefox和Edge。我为这些不同的浏览器定义了不同的下载文件夹。如果我在一个浏览器中使用您的网络应用程序,它会根据我使用的浏览器将PDF下载到不同的文件夹中。