2013-01-24 70 views
0

我有一個sql server 2008數據庫表,其中我存儲所有類型的文檔,即doc,docx,pdf,圖像。 數據字段的數據類型是'圖像'。從sql server 2008在php中檢索文檔

數據存儲在數據庫中。 但我需要檢索它並將其顯示在我的php頁面中。 我不需要保存或更改它,但用戶只需要查看該文檔。

我使用簡單的選擇查詢像

select docid,docname,data from documents 

數據字段導致System.Byte []。

如何在我的php應用程序中打印該文檔需要做什麼?

請幫幫我。

  • 在此先感謝。

Mausami

回答

0

要直接從內存顯示你將需要知道mimetype。在存儲隨機文件的表中,通常的過程是將文件類型和mimetype存儲在另一個字段中。你有訪問這種數據?

如果您確實知道mimetype,那麼您可以通過發佈到this similar question的答案通知瀏覽器期待什麼。 Google Header Content-Type瞭解更多信息。

如果您不知道文件MIME類型,那麼您可能必須將二進制文件保存到本地Web服務器上的文件中,然後嘗試從那裏顯示它,並希望瀏覽器知道如何處理文件類型。

+0

是的,我可以從數據庫中獲得mimetype數據,作爲將文檔類型存儲到數據庫表中。我試圖做到這一點:$ file = $ doc [「filedata」]; \t \t $ length = strlen($ file); \t \t header(「Content-type:application/pdf」); \t \t header(「Content-Length:$ length」); \t \t header(「Content-Disposition:inline; filename ='$ filename'」); \t \t echo $ file; -----但結果是'System.Byte []'。我該怎麼做? – Mausami