2015-02-06 107 views
0

这里我通过在我的服务器上使用'base64格式'转换为字符串来存储图像,并且我可以在图像视图中以相同的方式显示它。但是现在我想要将它下载到我的sd卡。我可以看到有些人使用'URL'下载。但在我的情况下,没有URL.I只是将图像转换为字符串并存储,并能够通过重新转换在imageview上显示它。Android下载图像

这是我再转串入图像

//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

,什么是你的问题? – Bracadabra 2015-02-06 14:08:03

+0

我需要将它保存到我的SD卡 – 2015-02-07 05:51:30

回答

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

+0

对不起,它说不能调用你的第三行数组byte []上的压缩 – 2015-02-07 05:50:49

+0

检查编辑。 – TheAnimatrix 2015-02-07 06:36:20

+0

对不起,先生现在得到错误未处理的异常类型文件没有发现异常在'文件filepath = ....' – 2015-02-07 10:07:43