C# 保存在任何文件夹中,而不是桌面中

C# 保存在任何文件夹中,而不是桌面中,c#,.net,pdf,itextsharp,httpresponse,C#,.net,Pdf,Itextsharp,Httpresponse,代码: 上面的代码允许我的web应用程序的用户将服务器上生成的PDF保存在自己的设备上。该文件保存在桌面上的pdfpage.pdf中,但我需要将该文件保存在任何文件夹中。例如,在E:\PDFs\pdfpage.pdf中,您的问题是错误的。我改正了一部分。部分原因仍然是错误的:您声称PDF保存在桌面上。当你测试它时,这可能是正确的,但一般来说这不是正确的。例如:如果我使用你的应用程序,PDF将保存在我的浏览器设置中定义的下载文件夹中 无法通过在服务器上设置参数来定义客户端浏览器的下载文件夹。 有一

代码:


上面的代码允许我的web应用程序的用户将服务器上生成的PDF保存在自己的设备上。该文件保存在桌面上的
pdfpage.pdf
中,但我需要将该文件保存在任何文件夹中。例如,在
E:\PDFs\pdfpage.pdf中,您的问题是错误的。我改正了一部分。部分原因仍然是错误的:您声称PDF保存在桌面上。当你测试它时,这可能是正确的,但一般来说这不是正确的。例如:如果我使用你的应用程序,PDF将保存在我的浏览器设置中定义的下载文件夹中

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

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

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

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

    你的代码只是添加HTTP头,而不是保存任何内容。执行所需保存的代码。
    Response.ContentType = "application/pdf";
    Response.AddHeader("content-disposition", "attachment;filename=pdfpage.pdf");
    Response.Cache.SetCacheability(HttpCacheability.NoCache);