Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Разработка Web-приложений ASP.NET 2.0 в Visual Studio.NET 2005
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

4.5.16 Элемент управления FileUpload (Выгрузка файла)

Серверный элемент управления FileUpload в ASP.NET 2.0, свойства IsPostBack, HasFile и PostedFile

Как понятно из наименования, элемент управления FileUpload предназначен для того, чтобы пользователь мог загружать файлы на сервер. Сразу отметим, то по умолчанию размер загружаемых файлов ограничен 4 Мбайт, что определяется настройками по умолчанию для атрибута maxRequestLength элемента httpRuntime, который можно определить в файле Machine.config или Web.config. Значение для этого параметра указывается в Кбайт и по умолчанию составляет 4096.

Как собрать файл от пользователя?

Обычно план работы выглядит следующим образом.

  1. Для сбора информации от пользователя используем событийную процедуру Page_Load, которая срабатывает при загрузке страницы;
  2. В ней сразу же проверяем значение свойства IsPostBack. Если оно возвращает значение True, то эта страница грузится в броузер пользователю уже не в первый раз, и только в этом случае нужно производить дальнейшие проверки;
  3. Проверяем значение свойства HasFile для элемента управления FileUpload. Это свойство возвращает значение True только в случае, если пользователь загрузил файл.
  4. Определяем абсолютный путь на компьютере, куда будет сохранен файл. Для этой цели иногда удобно использовать специальный метод MapPath, который принимает информацию о виртуальном пути на Web-сервере и возвращает абсолютный путь к данному каталогу. Если нужно сохранить файл в виртуальном каталоге, можно передать этому методу значение Nothing.
  5. Для дальнейших операций используется объект HttpPostedFile, который можно вернуть при помощи свойства PostedFile элемента управления FileUpload. Например, при помощи свойства ContentType для этого объекта можно определить тип файла, который передал вам пользователь, а при помощи метода SaveAs() — сохранить файл на диске. Обратите внимание, что предусмотрено два имени файла (свойства FileName). Это свойство для элемента управления FileUpload возвращает обычное имя файла, а для объекта PostedFile оно возвращает полный путь к файлу на клиентском компьютере.

Рекомендуется также обратить внимание на разрешения на каталог на сервере, в который будет производиться запись. В отладочном окружении, когда приложение запускается из Visual Studio, доступ к каталогу осуществляется от имени учетной записи пользователя, который запускает приложение ASP.NET. На рабочем сервере доступ будет осуществляться от имени специальной учетной записи ASP.NET, которой должны быть предоставлены необходимые права.

Простой пример применения этого элемента управления может выглядеть следующим образом. Представим себе, что у нас есть форма с двумя элементами управления: элементом управления FileUpload и кнопкой (она нужна, чтобы отправить информацию формы на сервер). Для обоих элементов управления сохранен значения по умолчанию для всех свойств. Код, который используется для принятия файла от пользователя и сохранения его на сервере, может выглядеть следующим образом:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As _

System.EventArgs) Handles Me.Load

If IsPostBack = True And FileUpload1.HasFile = True Then

FileUpload1.PostedFile.SaveAs("C:\Uploads\" & _ FileUpload1.FileName)

End If

End Sub

 

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2008, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru