【问题标题】:Opening FileTable Files in c# / .net 4在 c# / .net 4 中打开 FileTable 文件
【发布时间】:2012-12-07 21:09:15
【问题描述】:

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

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

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

感谢任何建议。

【问题讨论】:

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


    【解决方案1】:

    您将需要编写一个自定义页面处理程序,以使用正确的 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)的最佳方法是静态定义支持的文件类型或动态地定义read IIS 并分配适当的Content-Type HTTP 标头。

    Response.ContentType = "application/pdf";
    

    【讨论】:

    • 非常有用 - 谢谢 - 将它与 filetable file_stream 列结合使用来获取数据并实际使用 Response.BinaryWrite 在浏览器中打开文件。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    • 2013-04-07
    • 1970-01-01
    • 2017-06-20
    相关资源
    最近更新 更多