asp.net - 在 c#/.net 4 中打开 FileTable 文件

标签 asp.net c#-4.0 sql-server-2012 filetable

我有一个包含许多不同文档类型(.doc;.pdf;.xls 等)的文件表。

我正在编写一个小型网络(C#/.net 4)搜索应用程序。使用全文索引和文件表来查找内容的搜索效果非常好。

但是我正在努力在我的应用程序中找到一种方法,将搜索结果作为可以启动相关文档的链接?并且只处理不同的文件类型? (假设客户端已安装Word/adobe/excel等)

感谢您的任何建议。

最佳答案

您将需要编写一个自定义页面处理程序,以使用正确的 HTTP header 将字节流式传输到客户端。您需要决定是否支持内联查看(在浏览器中打开 - Content-Disposition: inline)还是使用附件进行外部查看(例如 内容处置:附件)。

Response.AddHeader("Content-Disposition", "attachment; filename=example.pdf");

如果您使用 ASP.NET MVC - 您可以利用FileResult简化此过程,但创建您自己的处理程序不会有太大不同。

public FileResult Download()
{
    byte[] fileBytes = ...; // from FileTable
    string fileName = "example.txt";
    return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
}

处理各种 MIME 类型(PDF、DOC、XLS)的最佳方法是静态定义支持的文件类型或动态定义 read IIS并分配适当的 Content-Type HTTP header 。

Response.ContentType = "application/pdf";

关于asp.net - 在 c#/.net 4 中打开 FileTable 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13970617/

相关文章:

c# - 确定当前用户帐户的密码何时即将过期

sql - 微软 SQL 2012 : In SQL Shift columns to left side if column contains 0

c# - 在网格中交互控件

c# - 返回自定义错误 WebApi ASP.NET 5 HttpResponseException 错误状态码

exception - 如何编写捕获异常并删除堆栈跟踪的属性?

c# - using block什么时候调用dispose方法

sql - 带前缀的 MSSQL 自动递增 ID

SQL:在查询的其他部分引用计算列

c# - 在 Asp.Net MVC 项目中托管 WCF 服务

asp.net - ASP.NET 中的 MailChimp oauth2 不断返回 invalid_grant