2016-09-05 164 views
0


我嘗試用我的Xamarin.Android應用程序保存圖像(位圖/字節[])。
我用獲取圖片目錄的路徑

private string getPathToFile(string fileName) 
    { 
     File dir = new File(Environment.GetExternalStoragePublicDirectory(Environment.DirectoryPictures), "imgen"); 
     if (dir.Exists()) 
     { 
      dir.Mkdirs(); 
     } 

     File image = new File(dir, fileName); 
     return image.Path; 
    } 

,返回的路徑看起來是這樣的:

"/storage/emulated/0/Pictures/imgen/new.png" 

但是當我與Android設備進行監控檢查這條道路上不存在仿真器。
我讀到這個文件夾是一種到mnt/shell/emulated/...文件夾的鏈接,它實際上存在於仿真器上。
但是我怎樣才能檢索我的應用程序中的這個真正的路徑?

+0

這段代碼有什麼問題?它是不是正確地在模擬器中寫入圖像?我用這樣的東西寫我的SD卡(真實設備)的圖像,它的工作完美。 –

回答

5

我用這個代碼設備:

 path = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryPictures).AbsolutePath; 
    string myPath= Path.Combine(path, "file.name"); 

對於仿真器是不行的。

+0

這工作。問題是沒有創建文件夾「imgen」。 – Freshchris

1

請使用如下代碼...

`private void CreateDirectoryForPictures() 
    { 
     App._dir = new File(
      Environment.GetExternalStoragePublicDirectory(
       Environment.DirectoryPictures), "imgen"); 
     if (!App._dir.Exists()) 
     { 
      App._dir.Mkdirs(); 
     } 
    }` 

CreateDirectoryForPictures()函數調用。然後創建文件夾imgen。