这里我通过在我的服务器上使用'base64 format'转换为字符串来存储图像,我可以在图像视图上以相同的方式显示它。但是现在我想将它下载到我的SD卡。我可以看到有些人使用'URL'下载。但在我的情况下,没有URL。我只是将图像转换为字符串并存储,并能够通过重新转换它在imageview上显示它。
这是我将字符串重新转换为图像的方式
//getting string from server using json parsor
String image=json_data.getString("img");
txt.setText(u);
//converting string to image
byte[] imageAsBytes = Base64.decode(p.getBytes(), 0);
im = (ImageView)this.findViewById(R.id.imageView1);
im.setImageBitmap(
BitmapFactory.decodeByteArray(imageAsBytes, 0,imageAsBytes.length));
答案 0 :(得分:2)
使用Image Loader库而不是你的库。
答案 1 :(得分:0)
这个小册子应该帮忙!
//为文件xxx.jpg提供任何名称
File filePath = new File(Environment.getExternalStorageDirectory()+"/name.jpg");
FileOutputStream os = new FileOutputStream(filePath, true);
修改强>
Bitmap x = BitmapFactory.decodeByteArray(imageasbytes , 0 , inageasbytes.length());
x.compress(
Bitmap.CompressFormat.JPEG, 85, os);
os.flush();
os.close();
另外,添加以下权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
此外,如果您想知道如何恢复它..
String imgFile = Environment.getExternalStorageDirectory() + "/name.jpg";
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile);
Imageview.setimagebitmap(MYBITMAP);