Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单击链接时,如何直接打开文件(从数据库中保存的二进制数据)?_C#_Asp.net_Telerik - Fatal编程技术网

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

C# 单击链接时,如何直接打开文件(从数据库中保存的二进制数据)?,c#,asp.net,telerik,C#,Asp.net,Telerik,我正在使用ASP.NET、C#和telerik开发文件上传功能。我用的是telerik:RadAsyncUpload控件。我已经将文件转换为字节数组并保存在SQLServer数据库中。 在更新页面上,我需要直接打开文件(从数据库中保存的二进制数据),然后单击链接。我需要在单独的浏览器选项卡/窗口中打开该文件。检索文件时,我不想将其物理保存在任何本地驱动器上 请帮帮我 我试过什么? 一直以来,我将二进制数据保存在某个本地驱动器的空白文件中,然后将其附加到该链接。但我不想在检索文件时将其物理保存在任

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

请帮帮我

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

创建一个处理程序(任意一个或一个aspx页面,只要您觉得更容易),该处理程序将读取数据库(例如,基于querystring参数)并返回相应的响应(通过响应对象,例如Response.BinaryWrite())

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

此外,您可能希望使用RadWindow打开该处理程序,以将浏览器弹出窗口保持在最小值,以减少浏览器阻止弹出窗口的风险