Использование 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:

  1. Открытие Visual Studio .NET
  2. В меню Файл наведите указатель мыши на пункт Создать, а затем выберите пункт Проект.
  3. В разделе Типы проектов щелкните Проекты Visual C#. В разделе Шаблоны щелкните ASP.NET веб-приложение.
  4. В текстовом поле Имя введите BinaryDemo. В текстовом поле Расположение введите имя_сервера. Если вы используете локальный сервер, оставьте расположение как http://localhost.

Добавление PDF-файла в проект

Чтобы настроить проект так, чтобы вы могли добавлять и выполнять код в разделе Создание страницы ASPX , необходимо сначала добавить файл Adobe Acrobat (.pdf) в текущий проект.

Для этого в Visual Studio .NET выполните следующие действия:

  1. В Обозреватель решений щелкните правой кнопкой мыши узел проекта, выберите команду Добавить, а затем — Добавить существующий элемент.
  2. Перейдите к расположению файла .pdf в системе.
  3. Щелкните, чтобы выделить файл, а затем нажмите кнопку Открыть.
  4. В Visual Studio .NET Обозреватель решений щелкните файл правой кнопкой мыши и выберите команду Переименовать. Переименуйте файл .pdf, чтобы он соответствовал имени файла Acrobat.pdf , который используется в следующем коде.

Кроме того, убедитесь, что Adobe Acrobat Reader установлен на клиентском компьютере, с которого просматривается страница .aspx, чтобы браузер правильно считывал и отображал двоичные данные. Вы можете скачать Adobe Acrobat Reader с веб-сайта Adobe.

Создание страницы ASPX

  1. Добавьте новую страницу .aspx с именем BinaryData.aspx в текущий проект следующим образом:

    1. В Обозреватель решений щелкните правой кнопкой мыши узел проекта, выберите Добавить, а затем — Добавить веб-форму.

    2. Присвойте странице имя BinaryData.aspx и нажмите кнопку Открыть.

      Примечание.

      Убедитесь, что страница добавлена в проект на том же уровне, что и файл .pdf, добавленный в предыдущем разделе. Это очень важно, так как код использует относительный путь для первоначальной ссылки на файл .pdf.

  2. В редакторе щелкните правой кнопкой мыши BinaryData.aspx и выберите пункт Просмотреть код.

  3. Выделите следующий код, щелкните его правой кнопкой мыши и выберите команду Копировать. В событии 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();
    }
    
  4. В меню Файл выберите команду Сохранить все.

  5. В меню Сборка выберите команду Сборка.

  6. Чтобы запустить код, щелкните правой кнопкой мыши 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.

Заявление об отказе от ответственности за сведения о продуктах сторонних производителей

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