2011-08-22 151 views
0

我在动态生成html文件。它是用Css和Images形成的。我正在寻找应该能够在按钮单击时执行的代码,并询问保存文件的位置。还应该下载关于在html文件中引用的资源文件。我需要做什么代码?我可以使用WebClient吗?在asp.net中下载生成的html文件的c#代码

回答

4

ASP.NET中没有“另存为”对话框。由于它正在浏览器中运行。您无权访问用户的文件系统,包括另存为对话框。

但是,您可以向用户发送文件,作为附件,大多数浏览器都会显示一个对话框,询问用户是保存还是打开文件。也许用户会选择保存它。

Response.ContentType = "application/octet-stream" (or content type of your file). 
Response.AppendHeader("content-disposition", "attachment;filename=" & strFileName) 

您可以创建一种情况,如果你让你的文件可用,您可以使用Web客户端通过URI,看到this岗位。

+0

好的,那么相关的参考文件呢? –

+0

如果你想要它以特定的方式下载几个相关的文件,我会压缩它们并发送一个文件 –

1

是的,你可以使用WebClient。选项是使用HttpRequest和HttpResponse。

+0

谢谢,但我怎么可以下载所需的资源文件夹与HTML文件? 你能给我推荐任何代码行吗? –

+0

如果您知道在HTML文件请求之前要获取哪些文件,只需为每个文件调用请求/响应。如果它依赖于HTML文件,则必须阅读HTML文件并获取对外部文件的引用,并使用这些文件运行另一个请求。 – Abbas

+0

我认为这是事实。但它是如何发生在浏览器本身?在任何浏览器中,如果我们保存页面,它会在保存位置自动获取所有引用的资源。如何实现这一点? –