2012-12-20 52 views
3

我有一個包含許多不同文檔類型(.doc; .pdf; .xls等)的Filetable。在c#/ .net中打開FileTable文件4

我正在寫一個小型網絡(C#/ .net 4)搜索應用程序。搜索使用fulltext索引和filetable來查找內容很有效。

但我努力在我的應用程序中找到一種方法,將搜索結果作爲可以啓動相關文檔的鏈接?只處理不同的文件類型? (假設客戶端安裝了Word/adobe/excel等)

感謝您的任何建議。

回答

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)的最好的方法是靜態地定義的支持的文件類型或動態read IIS並指定相應Content-Type HTTP標頭。

Response.ContentType = "application/pdf"; 
+1

非常有用 - 謝謝 - 使用此功能與filetable file_stream列組合以獲取數據並實際使用Response.BinaryWrite在瀏覽器中打開文件。謝謝! – user1918525