Android在内部存储中保存图像uri [重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

假设我创建了一个从图库或任何其他目录中选择图像的意图,我应该从onActivityResult()获取一个uri,是否可以将精确的uri复制到本地文件(intetnal存储)。

    onActivityResult(){

     //get image uri
      Uri uri=data.getData();

      //create a file 

      File image_file=new File(path);


      //now how to save uri to image_File???


    }
android uri android-gallery
1个回答
0
投票

使用此代码写入文件

忽略下面的代码

File path = context.getFilesDir();
File file = new File(path, "myfile.txt");
FileOutputStream stream = new FileOutputStream(file);

Uri uri = ....
String uriStr = uri.toString();
try {
  stream.write(uriStr.getBytes());
} finally {
  stream.close();
}

Reference

添加:

Bitmap获得Uri

   public  Bitmap getContactBitmapFromURI(Context context, Uri uri) {
    try {

        InputStream input = context.getContentResolver().openInputStream(uri);
        if (input == null) {
            return null;
        }
        return BitmapFactory.decodeStream(input);
    }
    catch (FileNotFoundException e)
    {

    }
    return null;

}

Bitmap保存到文件中

    public  File saveBitmapIntoSDCardImage(Context context, Bitmap finalBitmap) {

    String root = Environment.getExternalStorageDirectory().toString();
    File myDir = new File(Util.getTempFileReceivedPath(conetext));
    myDir.mkdirs();

    String fname = "file_name" + ".jpg";
    File file = new File (myDir, fname);

    try {
        FileOutputStream out = new FileOutputStream(file);
        finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
        out.flush();
        out.close();

    } catch (Exception e) {
        e.printStackTrace();
    }

    return file;
}
© www.soinside.com 2019 - 2024. All rights reserved.