3

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

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

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

感谢任何建议。

4

1 回答 1

0

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

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)的最佳方法是静态定义支持的文件类型或动态读取 IIS并分配适当的Content-TypeHTTP 标头。

Response.ContentType = "application/pdf";
于 2013-01-03T14:32:52.220 回答