有什么区别
Response.AddHeader("Content-Disposition", "attachment;filename=somefile.ext")
Run Code Online (Sandbox Code Playgroud)
和
Response.AddHeader("Content-Disposition", "inline;filename=somefile.ext")
Run Code Online (Sandbox Code Playgroud)
我不知道这些差异,因为当我使用一个或另一个时,我总会得到一个窗口提示,要求我为它们下载文件.我阅读了规格,但它是无能为力的.
我正在编写一个简单的asp.net,用户可以将对象列表下载为PDF文档.单击"获取pdf"按钮时,客户端浏览器应询问用户他们希望保存文件的位置.就是这样.挺直的.
我找到了几个指南,解释了如何从数据表生成PDF,但所有这些似乎都要求您将pdf保存到某种临时文件,并在过程中将其存储在本地.
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("c://sample.pdf", FileMode.Create));
Run Code Online (Sandbox Code Playgroud)
这是否真的需要在本地保存文件然后将其传递给用户,然后用户可以选择再次保存文件?我在这里想念一下吗?有没有办法在文件上生成PDF然后将其传递给客户端浏览器?
编辑:
要指定,我在这里谈论的可能是直接将流发送到客户端浏览器,该文件是在运行中完全生成的.在用户收到"您是否要下载此文件"提示之前,没有本地存储.