2016-05-16 2 views
0

How to retrieve a PDF using WebBrowser or WebClient in .NET?Вызов управления WebAPI вернуться PDF, но с заголовками

У меня есть подобный запрос на один из приведенных выше, но я хочу, чтобы это было что окно загрузки или автоматически загрузить файл и показать в нижней части браузера.

Мне нужно это, чтобы иметь возможность отправлять заголовки в запросе (самодельные/считываемые заголовки). Как я могу перенаправить на страницу, которая будет загружать файл, а не автоматически сохранять?

SetupWebClient это меня настройка заголовков мне нужно ....

WebClient wc = new WebClient(); 
wc = this.SetupWebClient(wc); 
wc.DownloadData(http://www.testurl.com/PdfController/GetDocumentPDF/" + customerdocument.DocumentId + "/" + customerdocument.CustomerId); 

ответ

0

Вот что я должен был сделать, если кто-то работает в этом .... пришлось угнать поток, и сделать следующие:

..... 
Stream pdfFileStream = wc.OpenRead(url) 
{ 
    //Override stream 
    System.Web.HttpContext.Current.Response.Clear(); 
    System.Web.HttpContext.Current.Response.ContentType = "application/pdf"; 
    System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=bylaws.pdf"); 
    pdfFileStream.CopyTo(System.Web.HttpContext.Current.Response.OutputStream); 
    System.Web.HttpContext.Current.Response.Flush(); 
    System.Web.HttpContext.Current.Response.SuppressContent = true; 
    System.Web.HttpContext.Current.Response.OutputStream.Flush(); 
    System.Web.HttpContext.Current.Response.OutputStream.Close(); 
    System.Web.HttpContext.Current.Response.End(); 
}