下载存储在数据库中的文件

时间:2010-07-23 06:29:48

标签: asp.net

我将sql数据库中的文件内容作为二进制格式,并以其扩展名保存文件。

我想弹出保存为,以便客户端可以以相同的文档格式将文件保存在她的系统上。

即如果它.doc那么它应该只以.doc格式保存。

请提供相同的代码。

1 个答案:

答案 0 :(得分:1)

你需要

  1. 设置IIS以处理所需类型的文件。例如,您需要映射.pdf,.jpg等,以便由ASP.net dll处理。同样重要的是确保“验证文件存在”已关闭:http://msdn.microsoft.com/en-us/library/bb515343.aspx
  2. 为文件创建HTTP处理程序以从数据库中检索二进制文件,并将.Binary将其写入输出流:http://www.developer.com/net/asp/article.php/3565541/Use-Custom-HTTP-Handlers-in-Your-ASPNET-Applications.htm
  3. 设置您的web.config文件以映射您创建的处理程序所需的文件类型(详见第2点提供的网址)
  4. 您说要将其作为下载框打开,而不是仅在浏览器中打开。为此,您必须使用content-disposition HTTP标头。因此,在您编写的自定义处理程序中,请确保添加指定content-disposition作为附件的标头。 http://support.microsoft.com/kb/260519会告诉您需要什么。
  5.   

    我想弹出保存为,所以   客户端可以将文件保存在她身上   系统采用相同的文件格式。

         

    即如果它.doc则应该保存   仅限.doc格式。

    在写出内容处理HTTP标头时,请注意这一点。请参阅我提供的MS链接,并确保指定具有正确扩展名的文件名。

    还要注意上面的评论。如果这对您有帮助,您需要接受它作为答案。还可以回过头来接受旧问题的一些答案。否则人们不倾向于帮助你。如果你把它标记为答案,我会再次帮助你,或者给我留言,说明为什么它没有回答你的问题。

    祝你好运

    bgs264