Android 如何将Mongodb GridFS上传的图像写入ImageView

Android 如何将Mongodb GridFS上传的图像写入ImageView,android,mongodb,android-imageview,gridfs,Android,Mongodb,Android Imageview,Gridfs,我已经使用Mongodb GridFS上传了一个图像,现在我想在android应用程序的ImageView中显示这个图像。 我的代码是 String bitmap = "/mnt/sdcard/image.png" GridFS myContracts = new GridFS(myDatabase, "contracts"); GridFSDBFile file = myContracts.findOne("smithco"); file .writeTo(bitmap); imageView

我已经使用Mongodb GridFS上传了一个图像,现在我想在android应用程序的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中显示这个“文件”,但我不知道怎么做。还有没有其他方法来显示图像而不是将其保存到文件中。有人能帮忙吗?

如果您只是临时需要,可以将图像存储在应用程序缓存目录中。以下是代码:

`

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();`