当我单击链接时,如何直接打开文件(从保存在数据库中的二进制数据)

本文关键字:数据库 存在 保存 数据 二进制 文件 链接 单击 何直接 | 更新日期: 2023-09-27 18:36:45

我正在使用 ASP.NET,C#和telerik进行文件上传功能。我正在使用telerik:RadAsyncUpload控件。我已经将文件转换为字节数组并保存在 SQLServer 数据库中。在更新页面上,当我单击链接时,我需要直接打开文件(从保存在数据库中的二进制数据中)。我需要在单独的浏览器选项卡/窗口中打开该文件。我不想在检索文件时将文件物理保存在任何本地驱动器上。

请帮帮我。

我试过什么?一直以来,我将二进制数据保存在位于某个本地驱动器上的空白文件中,然后将其附加到该链接。但我不想在检索文件时将文件物理保存在任何本地驱动器上。我要.....当用户单击链接时,二进制数据将直接刷新在单独的浏览器选项卡上,他可以查看文件。

当我单击链接时,如何直接打开文件(从保存在数据库中的二进制数据)

创建一个处理程序(任意一个或aspx页,无论你觉得更容易),它将读取数据库(例如,基于查询字符串参数)并返回适当的响应(通过响应对象,例如,Response.BinaryWrite())。

请注意,您应该设置适当的标头,并且根据您返回的文件类型,浏览器可能会提示用户打开/保存它,而不是内联打开它。您可以通过内容处置HTTP标头对此进行一些控制,但这最终取决于浏览器。

此外,您可能希望使用 RadWindow 打开该处理程序,以将浏览器弹出窗口保持在最低限度,从而降低它们被浏览器阻止的风险。