Скачать файл в формах xamarin на эмуляторе android - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь загрузить файл с сервера. После загрузки я не получаю никаких ошибок, поэтому я предполагаю, что файл загружен, но я не могу найти его ни в одной папке. Это из-за эмулятора 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));
    }
  }
}

1 Ответ

0 голосов
/ 08 апреля 2020

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

путь будет выглядеть как

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

При сохранении в Внутреннее хранилище , вы не могли видеть файлы без разрешения root, если вы хотите просмотреть его, вы можете использовать инструмент adb (приложение, подписанное Android Debug)

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

затем вы можете увидеть plik.pdf

или вы можете сохранить его на внешнем хранилище , затем вы сможете найти его в диспетчере файлов вашего устройства:

//"/storage/emulated/0/Android/data/packagename/files/plik.pdf"
string path = Android.App.Application.Context.GetExternalFilesDir(null).ToString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...