2010-07-23 74 views
0

我将sql数据库中的文件内容设置为二进制格式,并保存了文件的扩展名。下载存储在数据库中的文件

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

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

请提供相同的代码。

回答

1

您需要

  1. 设置IIS来处理你想要的类型的文件。例如,您需要映射.pdf,.jpg等,以便由ASP.net dll处理。另外重要的是要确保“验证文件存在”熄灭:http://msdn.microsoft.com/en-us/library/bb515343.aspx
  2. 创建一个HTTP处理程序的文件,从数据库中检索二进制和.BinaryWrite出来到输出流:http://www.developer.com/net/asp/article.php/3565541/Use-Custom-HTTP-Handlers-in-Your-ASPNET-Applications.htm
  3. 建立自己的Web .config文件来映射您创建的处理程序所需的文件类型(详细信息请参见为点2提供的url)
  4. 您说您希望它作为下载框打开,而不仅仅是在浏览器中打开。为此,您必须使用内容处置HTTP标头。因此,在您编写的自定义处理程序中,请确保将指定content-disposition的标题添加为附件。 http://support.microsoft.com/kb/260519会告诉你你需要什么。

我想有弹出的另存为,所以 客户端可以将文件保存她的 系统在同一个文档格式。

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

当你写出内容配置HTTP标头时,你要注意这一点。请参阅我提供的MS链接,并确保您使用正确的扩展名指定文件名。

另请注意以上注释。如果这对你有帮助,你需要接受它作为答案。也回过头来接受一些关于你老问题的答案。否则人们不会倾向于帮助你。如果您将此标记为答案,我会再次为您提供帮助,或者留下我对它为什么不回答您的问题的评论。

好运

bgs264