ASP.Net:生成要下载的文件

时间:2010-03-03 05:53:40

标签: asp.net asp.net-mvc download windows-installer

我有一个我需要复制的文件,针对下载它的人专门为它复制的副本运行命令,然后将该副本提供给用户下载。我正在使用ASP.Net MVC2,我从来没有做过这样的事情。我一直在寻找最简单的方法,但我找不到多少,所以我想出了一个计划。

我认为我要做的是生成一个guid,它将成为我将在源文件的同一级别生成的文件夹的名称。然后我将文件复制到该文件夹​​,对它运行我的命令,提供文件的链接,我将有一些服务,不时运行,删除超过一天的目录。

我在想这个吗?有没有更简单,更简单,或至少更正式的方式来做到这一点?我的方式似乎有点混乱和混乱。

2 个答案:

答案 0 :(得分:2)

您可以在内存中处理并使用处理程序将其流式传输到客户端吗?

这就是我做这样的事情。

基本上,你的下载链接指向一个HttpHandler,通常是async,它执行处理,然后使用'attachment'和文件名的内容配置来流式传输比特。

编辑:我没有做太多的MVC,但Charles描述的内容和我上面描述的MVC版本一样。

无论哪种方式,在内存中处理和流式传输可能是你最好的选择。它避免了您必须维护的许多麻烦,代码和工作流程。

答案 1 :(得分:1)

你必须对它采取什么样的命令?

因为在控制器的操作中使用MVC的FileResult将其发送到客户端,所以在内存中处理它是理想的。

查尔斯