2016-11-14 112 views
1

我對Android非常陌生。我正在與Xamarin合作,我必須用相機拍照並保存圖片。無法找到已保存的圖片

我實現了拍照,我有一個Bitmap對象。然後我保存它沒有錯誤,但當我試圖找到它時,沒有文件。

有我的代碼:

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。 App目錄只對擁有應用程序的uid可讀。如果你試圖通過shell找到你的文件,你的uid是不同的。

如果您想將文件保存在世界可讀的位置,您應該嘗試使用another folder path

我只是猜測,但也許System.Environment.SpecialFolder.CommonPictures會做。

+0

有沒有辦法將文件保存爲公共文件?我試圖更改文件夾,但我不知道如何創建「Storage \ Pictures \ MyApplication」文件夾 –

+0

請檢查我的編輯。請參閱[SpecialFolder枚舉](https://developer.xamarin.com/api/type/System.Environment+SpecialFolder/) – kor

+0

'System.Environment.SpecialFolder.CommonPictures'是我的應用程序中的一個空字符串。我嘗試過使用'Android.OS.Environment.DirectoryPictures',但結果只是「圖片」,而不是完整的路徑 –