我有一個包含許多不同文檔類型(.doc; .pdf; .xls等)的Filetable。在c#/ .net中打開FileTable文件4
我正在寫一個小型網絡(C#/ .net 4)搜索應用程序。搜索使用fulltext索引和filetable來查找內容很有效。
但我努力在我的應用程序中找到一種方法,將搜索結果作爲可以啓動相關文檔的鏈接?只處理不同的文件類型? (假設客戶端安裝了Word/adobe/excel等)
感謝您的任何建議。
我有一個包含許多不同文檔類型(.doc; .pdf; .xls等)的Filetable。在c#/ .net中打開FileTable文件4
我正在寫一個小型網絡(C#/ .net 4)搜索應用程序。搜索使用fulltext索引和filetable來查找內容很有效。
但我努力在我的應用程序中找到一種方法,將搜索結果作爲可以啓動相關文檔的鏈接?只處理不同的文件類型? (假設客戶端安裝了Word/adobe/excel等)
感謝您的任何建議。
您將需要編寫一個自定義頁面處理程序,通過正確的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在瀏覽器中打開文件。謝謝! – user1918525