Использование ASP.NET и Visual C# .NET для записи двоичных файлов в браузер
В этой статье создается пример страницы, демонстрирующей использование Visual C# .NET для получения двоичных данных из файла, а затем записи данных в браузер. Хотя в этой демонстрации используется файл Adobe Acrobat (.pdf), эту процедуру можно применить к другим двоичным форматам файлов.
Исходная версия продукта: ASP.NET
Исходный номер базы знаний: 306654
Требования
- Microsoft .NET Framework
- Windows
- Internet Information Server (IIS)
Создание веб-приложения ASP.NET с помощью Visual C#
В этом разделе показано, как создать новое веб-приложение ASP.NET с именем BinaryDemo:
- Открытие Visual Studio .NET
- В меню Файл наведите указатель мыши на пункт Создать, а затем выберите пункт Проект.
- В разделе Типы проектов щелкните Проекты Visual C#. В разделе Шаблоны щелкните ASP.NET веб-приложение.
- В текстовом поле Имя введите BinaryDemo. В текстовом поле Расположение введите имя_сервера. Если вы используете локальный сервер, оставьте расположение как
http://localhost
.
Добавление PDF-файла в проект
Чтобы настроить проект так, чтобы вы могли добавлять и выполнять код в разделе Создание страницы ASPX , необходимо сначала добавить файл Adobe Acrobat (.pdf) в текущий проект.
Для этого в Visual Studio .NET выполните следующие действия:
- В Обозреватель решений щелкните правой кнопкой мыши узел проекта, выберите команду Добавить, а затем — Добавить существующий элемент.
- Перейдите к расположению файла .pdf в системе.
- Щелкните, чтобы выделить файл, а затем нажмите кнопку Открыть.
- В Visual Studio .NET Обозреватель решений щелкните файл правой кнопкой мыши и выберите команду Переименовать. Переименуйте файл .pdf, чтобы он соответствовал имени файла Acrobat.pdf , который используется в следующем коде.
Кроме того, убедитесь, что Adobe Acrobat Reader установлен на клиентском компьютере, с которого просматривается страница .aspx, чтобы браузер правильно считывал и отображал двоичные данные. Вы можете скачать Adobe Acrobat Reader с веб-сайта Adobe.
Создание страницы ASPX
Добавьте новую страницу .aspx с именем BinaryData.aspx в текущий проект следующим образом:
В Обозреватель решений щелкните правой кнопкой мыши узел проекта, выберите Добавить, а затем — Добавить веб-форму.
Присвойте странице имя BinaryData.aspx и нажмите кнопку Открыть.
Примечание.
Убедитесь, что страница добавлена в проект на том же уровне, что и файл .pdf, добавленный в предыдущем разделе. Это очень важно, так как код использует относительный путь для первоначальной ссылки на файл .pdf.
В редакторе щелкните правой кнопкой мыши BinaryData.aspx и выберите пункт Просмотреть код.
Выделите следующий код, щелкните его правой кнопкой мыши и выберите команду Копировать. В событии
Page_Load
на странице кода программной части нажмите кнопку Вставить в меню Правка , чтобы вставить код:private void Page_Load(object sender, System.EventArgs e) { //Set the appropriate ContentType. Response.ContentType = "Application/pdf"; //Get the physical path to the file. string FilePath = MapPath("acrobat.pdf"); //Write the file directly to the HTTP content output stream. Response.WriteFile(FilePath); Response.End(); }
В меню Файл выберите команду Сохранить все.
В меню Сборка выберите команду Сборка.
Чтобы запустить код, щелкните правой кнопкой мыши BinaryData.aspx в Обозреватель решений и выберите пункт Просмотр в браузере. При появлении запроса нажмите кнопку Открыть , чтобы открыть и отобразить файл в браузере.
Если вы хотите использовать предыдущий код для поддержки других двоичных типов файлов, необходимо изменить значение в строке ContentType
, чтобы оно задалось соответствующим форматом файла. Синтаксис этой строки отформатирован как type/subtype
, где type
— общая категория содержимого, а subtype
— конкретный тип контента.
Полный список поддерживаемых типов контента см. в документации по веб-браузеру или в текущей спецификации HTTP. В следующем списке перечислены некоторые общие ContentType
значения:
text/HTML
image/GIF
image/JPEG
text/plain
Application/msword
(для файлов Word)Application/x-msexcel
(для файлов Excel)
Ссылки
Дополнительные сведения см. на следующих сайтах:
Версию .NET для Visual Basic см. в статье Запись двоичных файлов в браузер с помощью ASP.NET и Visual C# .NET.
Заявление об отказе от ответственности за сведения о продуктах сторонних производителей
В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по