我試圖從一個SQLite數據庫(Safari緩存:Cache.db)保存blob數據到一個文件,但由於某種原因,sqlite不會讀取整個blob。我最終想用ruby做到這一點,但現在直接在sqlite命令提示符下工作的東西沒問題。另外,我已經閱讀了所有在stackoverflow中討論這個的條目,但是其中大多數只討論了將圖像保存在blob中的性能,並且顯示將blob保存到文件的條目在C#中沒有幫助我。這裏是我試過的:將Blob數據從SQLite數據庫保存到文件
sqlite> select * from cfurl_cache_response limit 1; 3501 | 0 | 945281827 | 0 | http://www.gospelz.com/components/com_jomcomment/smilies/guest.gif|2010-02-24 16:20:07
sqlite> select cfurl_cache_blob_data receiver_data where entry_ID = 3501;
的GIF89a(
原始(guest.gif)文件的hexdump都表明源碼停止第一空值之後讀取斑點:
$ hexdump都-C guest.gif 47 49 46 38 39 61 28 00 28 00 F7 00 00 F1 F5 FD |的GIF89a((....... |。
源碼> .OUTPUT test.gif
源碼>選擇receiver_data從cfurl_cache_blob_data其中entry_ID = 3501;
$ hexdump -C test.gif
00000000 47 49 46 38 39 61 28 0a | GIF89a(。
是的,這工作:) 我本來想用紅寶石保存垢文件,但我最終用java:http://stackoverflow.com/questions/2150265/retrieve-an-image-stored-as-blob-on-a-mysql-db 謝謝 – Felipe 2010-05-03 14:59:56