2013-06-26 61 views
-1

我有一個sqlite數據庫存儲在Document目錄和圖像名稱的表列之一..and圖像存儲在應用程序bundle.Images直接通過給imgaes的名字來該列通過使用代碼..意味着不需要指定任何路徑..只需名稱是好的。從文檔目錄中獲取SQLite數據

現在,如果我動態地將圖像存儲在文檔目錄中,並直接在上面提供Sqlite數據庫圖像列中圖像的名稱,我無法獲取它。我是否需要指定任何路徑來達到那裏...在應用程序捆綁圖像直接來到。

回答

5

是的。您需要指定文檔目錄中的sqlite文件的路徑。

或者使用具有相應的圖像名稱下面的代碼(圖像在文檔目錄):

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *imagePath = [documentsDirectory stringByAppendingPathComponent:@"img.png"]; 
yourImageView.image = [UIImage imageWithData:[NSData dataWithContentsOfFile:imagePath]]; 
+0

不與路徑正與名稱,但存儲在礦井文件時直接指定我只是給了名稱 – user2519391

+0

@ user2519391您必須存儲Document目錄中存儲的圖像路徑,而您需要對其進行修補。 Midhun MP是對的。 –

+0

@ user2519391:請檢查代碼,我添加了 –

0

你可以得到如下的目錄路徑:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

,並讓你有圖像在此路徑後附加圖像名稱。你的數據庫中有數據,所以你可以得到imagename。

+0

嘿,我怎麼樣追加 – user2519391

+0

你可以使用[NSString StringWithFormat:@「%@%@」,documentsDirectory,imagename]; – Mital

0

如果在數據庫中的值是圖像的只是名稱(如「someimage.png」),那麼你有兩種可能性:

1)如果圖像是在應用程序包,然後使用該值從數據庫中用UIImage imageNamed:方法。我相信你已經有這個工作。

2)如果圖像位於Documents目錄中,那麼您還有一些工作要做。您需要獲取Documents目錄的完整路徑,然後將文件名(從數據庫)追加到路徑。這將爲您提供Documents目錄中映像的完整路徑。然後加載圖像,您需要使用傳入完整文件路徑的方法UIImage imageWithContentsOfFile:

+0

thnks的完整解釋:) – user2519391

+0

有沒有什麼辦法可以下載應用程序包中的圖像或數據 – user2519391

0

使用此代碼。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory35 = [paths objectAtIndex:0]; 


//Essential Info 
NSString *fullPathEssentialInfo = [documentsDirectory35 stringByAppendingPathComponent:@"EssentialInfo.txt"]; 

實現此code.Thanks

+0

在我的應用程序中,這個字符串是concate,所以我用stringwithFormate。 –