使用asp.net从varbinary数据打开文件

时间:2013-06-27 15:08:41

标签: asp.net webforms shellexecute varbinary

我只需要回答下面提到的问题。但首先让我为您提供方案

方案

我创建了一个基于webforms的asp.net应用程序。以下是该应用程序的组件

  1. 带有Varbinary(MAX)列的表。
  2. 具有gridview和fileupload控件的网页。
  3. 我编写了使用fileupload组件上传/下载任何文件的代码。这工作得很好。

    问题。

    我正在研究提供打开文件功能的可能性。只是为了澄清,打开文件(与下载文件不同)是打开文件,具体取决于文件IE的类型,如果.xls文件然后Excel,.doc然后单词等。换句话说使用注册程序打开文件。

    这是否可以在asp.net应用程序中使用?
    是否存在阻止此问题的安全注意事项(看起来很可能)

    事实上,我是一名经验丰富的winforms程序员,但我对asp.net相对较新。

    欢迎任何答案/提示/其他信息

    提前致谢

    游牧

1 个答案:

答案 0 :(得分:1)

检查以下StackOverflow答案:C# Asp.net write file to client

这些是您需要的3行:

Response.ContentType = "text/plain";
Response.OutputStream.Write(buffer, 0, buffer.Length);
Response.AddHeader("Content-Disposition", "attachment;filename=yourfile.txt");

一个重要的事情是您需要为不同的文件扩展名研究不同的内容类型。 XLS / X,DOC / X,PDF等都有不同的ContentType字符串(很容易搜索)。

好消息是,您可能已经将文件名存储在数据库中,因此您可以使用字符串操作来获取文件扩展名,然后从数据库列表扩展和ContentType查找,或者只是创建一个在那里列出并“硬编码”。