在 android 模拟器上以 xamarin 形式下载文件

Download file in xamarin forms on android emulator

我正在尝试从服务器下载文件。下载后,我没有收到任何错误,所以我想该文件已下载,但我无法在任何文件夹中找到它。是因为 android 模拟器吗?我目前正在使用 Android 9.0 API 28.

public void DownloadFile(string url, string cookie)
{
  string pathToFolder-Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
  try
  {
    WebClient webClient=new WebClient();
    InitiatesSSLTrust();
    webClient.Headers.Add(HttpRequestHeader.Cookie, "JSESSIONID="+cookie);
    webclient.DownloadFileCompleted+=new AsyncCompletedEventHandler(Completed);
    string pathToNewFile=Path.Combine(pathToFolder, "plik.pdf");
    webClient.DownloadFileAsync(new Uri(url), pathToNewFile);
  }
  catch (Exception e)
  {
    if(OnFileDownloaded != null)
    {
      OnFileDownloaded.Invoke(this, new DownloadEventArgs(false));
    }
  }
}

string pathToFolder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

路径会像

"/data/user/0/packagename/files/plik.pdf"

保存到Internal Storage时,没有root权限是看不到文件的,如果要查看,可以使用adb工具(由[=26签名的应用程序) =]调试)

adb shell
run-as packagename
cd /data/data/packagename
cd files
ls

然后你可以看到 plik.pdf

或者您可以将它保存到 External storage,然后您可以在您的设备文件管理器中找到它:

//"/storage/emulated/0/Android/data/packagename/files/plik.pdf"
string path = Android.App.Application.Context.GetExternalFilesDir(null).ToString();