3

我有一个 aspx 页面,它返回一个包含以下代码的 pdf 文件:

HttpContext.Current.Response.Clear()
HttpContext.Current.Response.ContentType = "application/pdf"
HttpContext.Current.Response.AddHeader("Content-disposition", "attachment; filename=Order-" & Request("OrderNo") & ".pdf")
HttpContext.Current.Response.BinaryWrite(pdfContent)
HttpContext.Current.Response.End()

需要对代码进行哪些修改才能将文件保存到服务器的硬盘上?我猜 BinaryWrite 必须用别的东西代替,但是什么?

我非常感谢您的帮助!

4

3 回答 3

5

只需将 Path 和 pdfcontent 指定为File.WriteAllBytes方法的参数,如下所示:

File.WriteAllBytes(Server.MapPath("~/SubdirectoryInCurrentWebApp"),pdfContent);

您通常无法将任何内容保存在本地应用程序目录之外,除非您使用具有足够权限写入目标目录的用户配置运行应用程序的应用程序池。但是开箱即用,您应该能够写入 Web 应用程序内的子目录。

于 2012-12-20T16:12:41.317 回答
2

您可以通过调用将二进制数据写入磁盘File.WriteAllBytes

于 2012-12-20T16:07:11.687 回答
0

如果您只想将字节转储pdfContent到文件中,那么IO.File.WriteAllBytes("{A path}",pdfContent)应该这样做。

于 2012-12-20T16:10:32.720 回答