PDF-файлы, загруженные для просмотра, называются неправильно
Я загружаю PDF-файл для просмотра в браузере в разделе содержимого формы главной страницы. Я хотел бы, чтобы мой пользователь имел возможность нажать кнопку загрузки или щелкнуть правой кнопкой мыши и сохранить как имя PDF-файла.
Я думаю, что моя проблема заключается в том, что pdf-файлы находятся на общем сетевом ресурсе и не могут быть доступны непосредственно пользователю. Я обнаружил, что если файлы были непосредственно доступны ( например mywebsite.com/PdfFile.pdf), имя, загруженное пользователю, совпадает с именем pdf-файла, и все возможности загрузки есть. Однако все мои файлы находятся на общих сетевых ресурсах, и я должен использовать страницу. aspx для обслуживания pdf-файла ( например mywebsite.com/PdfServer.aspx?file=PdfFile.pdf). Когда я это делаю, отображаемая страница называется в честь файла. aspx, и я не могу напрямую загрузить этот файл в формате pdf.
Любая помощь, которая будет направлена в правильном направлении, будет оценена по достоинству.
Ларри
Что я уже пробовал:
Я действительно понял, что могу сохранить страницу .aspx в формате PDF, но это не очень хорошее решение.
Я действительно нашел какой-то скрытый код, который отображал PDF-файл на отдельной странице:
Response.Redirect("~PdfFile.pdf");
Это отвечает всем моим требованиям, таким как отображение правильного имени и наличие возможности загрузки. Однако это, по-видимому, работает только тогда, когда PDF-файл находится в папках веб-сайта. Мои файлы находятся на сетевых дисках, поэтому для их передачи мне приходится использовать страницы aspx или ashx.
Я также попытался использовать что-то вроде следующего, и это отлично сработало, документ отображался в формате PDF с возможностью загрузки...
<asp:HyperLink ID="lnkPDF" runat="server" NavigateUrl="~PdfFile.pdf" Target="_blank">View PdfFile.pdf</asp:HyperLink>
но когда я изменил NavigateURL на свою страницу aspx, обслуживающую PDF-файл, файл будет отображаться, но с расширением aspx и ни одной из доступных функций загрузки или печати.
Я играл с заголовками TransmitFile, WriteFile, contentTypes и Content-Disposition (attachment &inline) безрезультатно.