2016-07-21 3 views
0

Мне нужно иметь возможность загрузить файл с URL-адреса. URL-адрес не привязывается к фактическому файлу, а сначала генерирует файл на сервере, а затем дает диалоговое окно загрузки. Вероятно, вернул mvc FileResult.Загрузить с url, который генерирует файл

Мне просто интересно получить байт [] из файла.

Я пробовал:

 using (var webClient = new WebClient()) 
     { 
      System.Uri uri = new System.Uri(Document.Url); 
      bytes = await webClient.DownloadDataTaskAsync(uri); 
     } 

Это работает, но я получаю поврежденный файл, как и ожидалось.

У меня нет контроля над тем, как сервер создает или обслуживает файл.

Любой способ дождаться завершения создания файла, а затем получить содержимое файла?

TIA

+0

Быстрая заметка, чтобы сказать, что вы должны использовать 'HttpClient', а не' WebClient' , также есть масса похожих вопросов здесь с хорошими ответами, так что взгляните на их первые –

+0

Спасибо Llama. Не из тех, кто работал из-за того, что возвращает сервер. Я объяснил в своем ответе ниже. Спасибо за ответ. –

ответ

0

Ничего. Оказывается, ссылка возвращает некоторый javascript, который автоматически аутентифицирует пользователя, а затем делает jquery для получения другого URL-адреса и порта для создания файла. Поэтому я в основном загружал этот скрипт и сохранял его в формате pdf. DOH.

Таким образом, работа вокруг должна была имитировать это в некотором роде.

 Смежные вопросы

  • Нет связанных вопросов^_^