2014-02-06 69 views
0

如何獲取保存在MySQL中的文件,然後將其保存在我的手機上的文件夾中的任何幫助。如何在設備上保存BLOB數據類型文件?

我就在某些階段,從數據庫中選擇文件的Android應用程序的工作,這些文件存儲爲BLOB ....然後我想這些選定的文件保存在我的設備上(Environment.getExternalStorageDirectory().getAbsolutePath()+ "/Testing/")

顯然我使用PHP將android連接到MySQL。我怎樣才能做到這一點?

+0

是在同一個系統虛擬機上運行的應用程序和PHP解釋器在Java上的mysql數據庫? – Theolodis

+0

不,mysql數據庫是在遠程服務器上,甚至是我的PHP腳本...我使用JSON來製作Http請求並調用PHP腳本,然後使用這個腳本我選擇在MySQL中保存爲BLOB的文件。現在,我希望一旦選擇它們,我將它們保存在手機上的文件夾中。可能嗎? – cloe

+0

好吧,我不是Android開發人員,但是當你用Java編程時,你可能有一個FileWriter或類似的東西......你爲什麼不把BLOB寫入文件?哪裏有問題?爲什麼你使用mysql相關? – Theolodis

回答

0

我想,你應該首先將Blob轉換爲位圖,然後將該位圖轉換爲文件並將此文件保存到外部存儲器中。 例如,如果你從MySQL數據庫中獲取圖像:

Blob blob = // get Blob from MySql database 
byte [] bytes = blob.getBytes(1, (int) blob.length()); 
Bitmap bmp = BitmapFactory.decodeByteArray(bytes, 0, bytes.length); 
String filePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Testing/"; 
File dir = new File(filePath); 
File file = new File(dir, "filename.png"); 
FileOutputStream fOut = new FileOutputStream(file); 
bmp.compress(Bitmap.CompressFormat.PNG, 85, fOut); 
fOut.flush(); 
fOut.close(); 
相關問題