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

问题描述 投票:0回答:1

我正在尝试从服务器下载文件。下载后,我没有收到任何错误,因此我想该文件已下载,但在任何文件夹中都找不到。是因为有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));
    }
  }
}
android xamarin xamarin.android android-emulator
1个回答
0
投票

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

路径会喜欢

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

[将其保存到Internal Storage后,没有root权限就看不到文件,如果要查看它,可以使用adb工具(由Android Debug签名的应用程序)

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();
© www.soinside.com 2019 - 2024. All rights reserved.