我有一个包含许多不同文档类型(.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/