2017-03-16 72 views
0

我在Xamarin.Android.Support.v4 Fragment上使用Xam.Plugin.FilePicker NUGet版本1.1.0,當我使用文件選取器時它工作正常好,但是當我得到一個文件時,字節數組是空的,文件名只是沒有路徑的文件名。Xam.Plugin.FilePicker工作正常,但無法獲取文件

如果我只能得到文件的完整路徑,那就太好了,從那裏我可以得到字節數組。我做錯了什麼?我的代碼是這樣的:

try 
{ 
    var crossFilePicker = Plugin.FilePicker.CrossFilePicker.Current; 
    var myResult = await crossFilePicker.PickFile(); 
    if (!string.IsNullOrEmpty(myResult.FileName)) //Just the file name, it doesn't has the path 
    { 
     foreach (byte b in myResult.DataArray) //Empty array 
      b.ToString(); 
    } 
} 
catch (InvalidOperationException ex) 
{ 
    ex.ToString(); //"Only one operation can be active at a time" 
} 

此外,如果您使用後退按鈕它不會讓你挑andother文件,因爲「只有一個操作可以同時啓動」爲「路徑」

回答

1

我已經測試了xamarin表單android的文件選取器插件。 它可以得到文件字節,我可以輸出文件字節。您的代碼是正確的,請檢查您選擇的文件類型,或者您可能選擇了一個錯誤文件。在我的地盤,我選擇了一個JPG文件:

enter image description here

如果我能得到的文件的完整路徑將是巨大的

你現在不能獲取文件的路徑,但這個功能即將推出。請檢查github存儲庫commit branch

此外,如果您使用後退按鈕它不會讓你挑andother文件,因爲「只有一個操作可以同時啓動」

這個問題也是固定的方式,請檢查github repository

如果您不能等待它們解決,我建議您下載源代碼並自行更改。

+0

我下載了代碼,但在獲取路徑時仍然有錯誤,請檢查我在IOUtil.class中找到的代碼,以處理非主要卷...添加完全相同的代碼「返回Android.OS.Environment。 ExternalStorageDirectory +「/」+ split [1];「修好了路徑,現在工作正常,我會把這個觀察也放在gitpage上,謝謝! –

1

你應該下載具有此屬性的GitHub代碼。 Nuget包有點舊