2017-10-27 5 views
1

私はUriで画像と動画を取得します。そのファイルを内部メモリの特定のフォルダに保存します。私はFileoutputstreamを試してみましたが、カメラのフォルダに保存できますが、特定のフォルダは保存できません。画像と動画の両方を保存したい特定のフォルダに画像と動画を保存したい

public void onClick(View view) { 

      if (string.contains("jpg")) { 
       String path = null; 
       try { 

        path = MediaStore.Images.Media.insertImage(getContentResolver(), 
          string, "img", null); 

       } catch (FileNotFoundException e) { 
        e.printStackTrace(); 
       } 
       final Uri uri = Uri.parse(path); 


       Toast.makeText(getApplicationContext(), "Image saved", Toast.LENGTH_LONG).show(); 


       saveImageandVideo(uri); 


      } else { 
       Uri uri = Uri.parse(string); 
       saveImage(uri); 
       Toast.makeText(getApplicationContext(), "Video saved", Toast.LENGTH_LONG).show(); 


      } 
     } 

    }); 

はここ

private void saveImageandVideo(Uri uri) { 

    String root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString(); 


    File myDir = new File(root + "/folder_name"); 
    if (!myDir.exists()) { 

     myDir.mkdirs(); 

    } 


    try { 

     FileOutputStream out = new FileOutputStream(file); 


     out.flush(); 

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

コードこのコード作業を保存、私が、私はできない、特定のフォルダに保存することができます。カメラフォルダ(DCIM)に自動的に保存されました。私はビデオを保存することができません。答えの友達を待っている。ありがとうございます。D

答えて

0

file変数の変更を次のように変更してください。

String root = Environment.getExternalStorageDirectory().getAbsolutePath().toString(); 

File myDir = new File(root + "/folder_name"); 
if (!myDir.exists()) { 
    myDir.mkdirs(); 
} 
File file = new File(myDir,"filename.jpg/mp4"); 
//rest of your code 

private void saveImageandVideo() { 
    try { 
     FileOutputStream out = new FileOutputStream(file);  
     out.flush(); 
     out.close(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
+0

のfileutilsが動作していないと、このコードは仲間....実際の問題は、それが特定のフォルダに保存していないで正常に動作していないとして、あなたのsaveImageandVideo()を変更します。あなたのコードは素晴らしいですが、私の場合はスイートではありません –

+0

@IlyasFahrudeen私の編集した答えを確認してください –

+0

@IlyasFahrudeen私の最新の編集コードをチェックしてください。あなたのイメージが保存されていて、指定されたフォルダにない場合は、上記のコード –

関連する問題