2014-01-13 57 views
1

我上傳了一個使用Mongodb GridFS的圖像,現在我想在android應用程序的ImageView中顯示此圖像。 我的表現碼是如何將Mongodb GridFS上傳的圖像寫入ImageView

String bitmap = "/mnt/sdcard/image.png" 
GridFS myContracts = new GridFS(myDatabase, "contracts"); 
GridFSDBFile file = myContracts.findOne("smithco"); 
file .writeTo(bitmap); 
imageView.setImageBitmap(BitmapFactory.decodeFile(bitmap)); 

我想寫這個文件放到image.png然後試圖上傳該文件到ImageView的,但它無法正常工作。現在我想在ImageView中顯示這個「文件」,我不知道該怎麼做。還有沒有其他的方式來顯示圖像,而不是將其保存到文件。誰能幫忙?

回答

0

可以存儲在應用程序緩存目錄中的圖片,如果你只需要temporarily.here是代碼:

`

GridFS gfs = new GridFS(db); 
ObjectId fileId = new ObjectId("your_object_id"); 

GridFSDBFile gfsFile = gfs.find(fileId); 
File outFile; 
RelativeLayout v = (RelativeLayout) findViewById(R.id.RelativeLayout); 
Context context = (Context) v.getContext(); 
outFile = File.createTempFile("xyz", null, context.getCacheDir()); 
gfsFile.writeTo(outFile); 
ImageView iv= (ImageView)findViewById(R.id.imageView1); 
InputStream is = new FileInputStream(outFile); 

iv.setImageBitmap(BitmapFactory.decodeStream(is)); 
outFile.delete();`