一個包含近四千條記錄的表包括一個 mediumblob 欄位,每個記錄包含該記錄的關聯 PDF 報告。在 MySQL Workbench 和 phpMyAdmin 下,相關的 DOCUMENT 列將資料顯示為 BLOB 按鈕或鏈接。在 phpMyAdmin 的情況下,該鏈接還指示 Blob 包含的資料的大小。
問題是,當單擊 Blob 按鈕/鏈接時,在 MySQL Workbench 下使用 SQL 編輯器打開任何檔案僅顯示原始 Blob 資料,而在 phpMyAdmin th 鏈接下僅允許將 Blob 資料保存為 .bin 檔案將資料顯示或保存為可查看的 PDF 檔案。以前使用 PHP 檢索原始 PDF 的所有嘗試都失敗了 - 請參閱相關的早期執行緒:Extract Pdf from MySql Dump Saved as Text。
表格中的檔案名欄位顯示所有存盤的檔案都是 PDF 檔案。進一步的研究和測驗表明,mediumblob 資料已存盤為應用程式/八位位元組流。
我的問題是如何將原始 PDF 檢索為可讀 PDF?從資料庫中保存的 .bin 檔案是否可以轉換或用于恢復原始 PDF 檔案?
任何幫助將不勝感激。
uj5u.com熱心網友回復:
根據我的假設和 Isaac 的建議,唯一的解決方案是能夠與其中一位軟體開發人員交談。事實證明,這些檔案已經使用第三方庫進行了壓縮,并且在存盤到資料庫之前已洗掉了標題。使用的第三方庫是 Chilkat 的 2.0.50727 版本,可從www.chilkatsoft.com獲得。該版本似乎不再可用,但希望至少有一個更高版本可以完成這項作業。再次感謝大家的投入和幫助。
uj5u.com熱心網友回復:
根據評論中的討論,聽起來您需要參考原始源代碼或咨詢原始開發人員以確定資料的確切存盤方式。
在許多情況下,使用 phpMyAdmin 將 mediumblob 資料下載為檔案會下載 .bin 檔案,我實際上不記得它如何確定內容型別(例如,PNG 檔案將以 .png 擴展名下載,但大多數其他二進制檔案當 phpMyAdmin 不確定擴展名應該是什么時,檔案只需下載為 .bin,包括 PDF)。因此,您從 phpMyAdmin 看到的行為是預期的并且是正確的,但是由于 .bin 檔案在重命名為 .pdf 時不起作用,這意味著匯入和上傳可能出現問題。
BLOB 資料通常以非常標準化的方式存盤,但您的資料似乎不遵循該方法。
如果沒有直接看到代碼,我們無法猜測存盤資料到底發生了什么,只能猜測。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/416173.html
標籤:
