2016-11-14 12 views
1

非常にAndroid向けです。私はXamarinと一緒に作業しています。カメラで写真を撮って写真を保存しなければなりません。保存した画像が見つかりません

私は写真を撮ることを達成しました。私はビットマップオブジェクトを持っています。その後、私は間違いなく保存しますが、見つけようとするとファイルはありません。私のコードは

あり:

Bitmap imgBmp = /* image initialized */ 

//Save image on folder 
var folderPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);    
var filePath = System.IO.Path.Combine(folderPath, "image1.png"); 
var stream = new System.IO.FileStream(filePath, FileMode.Create); 
bool isOK = imgBmp.Compress(Bitmap.CompressFormat.Jpeg, 95, stream); 
stream.Flush(); 
stream.Close(); 

私は実行エラーを持っていない、ISOKは本当ですが、私はimage.pngを検索したとき、私は、ファイルを見つけることができませんよ。

デバッガでは、パスが/data/user/0/com.myCompagny.MyAppli/files/image1.pngであることがわかりましたが、そのフォルダは表示されません。

誰かが私のimage1.pngの検索に手伝ってくれますか?

また、既定のフォルダをPictures \ MyApplication \ image.pngのように変更することもできますが、イメージの既定のフォルダの検索方法はわかりません。

+0

これはシステムプライベートディレクトリなので、ファイルマネージャでこのディレクトリにアクセスすることはできません。アプリだけがアクセスでき、自分のプライベートディレクトリのみにアクセスできます。 –

答えて

1

ファイルはbut you have no permissions to see itです。アプリディレクトリは所有アプリのUIDでのみ読み込み可能です。シェルからファイルを検索しようとすると、あなたのuidは異なります。

ファイルを世界で読み取り可能な場所に保存する場合は、another folder pathを使用するようにしてください。

私はちょうど推測していますが、おそらくSystem.Environment.SpecialFolder.CommonPicturesがそうです。

+0

ファイルをパブリックファイルとして保存する方法はありますか?フォルダを変更しようとしていますが、 "Storage \ Pictures \ MyApplication"のようなフォルダを作成する方法がわかりません。 –

+0

編集内容を確認してください。 [SpecialFolder enumeration](https://developer.xamarin.com/api/type/System.Environment+SpecialFolder/)を参照してください。 – kor

+0

'System.Environment.SpecialFolder.CommonPictures'は私のアプリケーションの空のStringです。私は 'Android.OS.Environment.DirectoryPictures'で試してみましたが、結果は完全なパスではなく、単に" Pictures "です。 –

関連する問題