HtmlInputFile Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Обеспечивает программный доступ к элементу HTML <input type= file>
на сервере.
public ref class HtmlInputFile : System::Web::UI::HtmlControls::HtmlInputControl, System::Web::UI::IPostBackDataHandler
[System.Web.UI.ValidationProperty("Value")]
public class HtmlInputFile : System.Web.UI.HtmlControls.HtmlInputControl, System.Web.UI.IPostBackDataHandler
[<System.Web.UI.ValidationProperty("Value")>]
type HtmlInputFile = class
inherit HtmlInputControl
interface IPostBackDataHandler
Public Class HtmlInputFile
Inherits HtmlInputControl
Implements IPostBackDataHandler
- Наследование
- Атрибуты
- Реализации
Примеры
В следующем примере кода показано, как использовать HtmlInputFile элемент управления для создания простого сценария отправки файлов. Чтобы этот пример работал правильно, необходимо создать каталог с именем Temp
на диске C компьютера.
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Button1_Click(object Source, EventArgs e)
{
if (Text1.Value == "")
{
Span1.InnerHtml = "Error: You must enter a file name.";
return;
}
if (File1.PostedFile.ContentLength > 0)
{
try
{
File1.PostedFile.SaveAs("c:\\temp\\" + Text1.Value);
Span1.InnerHtml = "File uploaded successfully to <b>c:\\temp\\" +
Text1.Value + "</b> on the Web server.";
}
catch (Exception exc)
{
Span1.InnerHtml = "Error saving file <b>c:\\temp\\" +
Text1.Value + "</b><br />" + exc.ToString() + ".";
}
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlInputFile Example</title>
</head>
<body>
<h3>HtmlInputFile Example</h3>
<form id="form1" enctype="multipart/form-data"
runat="server">
Select File to Upload:
<input id="File1"
type="file"
runat="server" />
<p>
Save as file name (no path):
<input id="Text1"
type="text"
runat="server" />
</p>
<p>
<span id="Span1"
style="font: 8pt verdana;"
runat="server" />
</p>
<p>
<input type="button"
id="Button1"
value="Upload"
onserverclick="Button1_Click"
runat="server" />
</p>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Button1_Click(ByVal Source As Object, ByVal e As EventArgs)
If Text1.Value = "" Then
Span1.InnerHtml = "Error: You must enter a file name."
Return
End If
If File1.PostedFile.ContentLength > 0 Then
Try
File1.PostedFile.SaveAs(("c:\temp\" & Text1.Value))
Span1.InnerHtml = "File uploaded successfully to <b>c:\temp\" & _
Text1.Value & "</b> on the Web server."
Catch exc As Exception
Span1.InnerHtml = "Error saving file <b>c:\temp\" & _
Text1.Value & "</b><br />" & exc.ToString() & "."
End Try
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlInputFile Example</title>
</head>
<body>
<h3>HtmlInputFile Example</h3>
<form id="form1" enctype="multipart/form-data"
runat="server">
Select File to Upload:
<input id="File1"
type="file"
runat="server" />
<p>
Save as file name (no path):
<input id="Text1"
type="text"
runat="server" />
</p>
<p>
<span id="Span1"
style="font: 8pt verdana;"
runat="server" />
</p>
<p>
<input type="button"
id="Button1"
value="Upload"
onserverclick="Button1_Click"
runat="server" />
</p>
</form>
</body>
</html>
Комментарии
Используйте серверный HtmlInputFile элемент управления для обработки отправки двоичных или текстовых файлов из клиента браузера на сервер. Отправка файлов работает с Microsoft Internet Explorer версии 3.02 или более поздней.
Примечание
Элемент HtmlInputFile управления предназначен для использования только в сценариях обратной передачи, а не в сценариях асинхронной обратной передачи во время частичной отрисовки страницы. При использовании HtmlInputFile элемента управления внутри UpdatePanel элемента управления файл должен быть отправлен с помощью элемента управления, который является PostBackTrigger объектом для панели. UpdatePanel Элементы управления используются для обновления выбранных областей страницы, а не для обновления всей страницы с помощью обратной передачи. Дополнительные сведения см. в разделах Обзор элемента управления UpdatePanel и Обзор частичной отрисовки страницы.
Чтобы указать файл для отправки, введите полный путь к файлу (например, "C:\MyFiles\Test.txt") в текстовом поле элемента управления . Вы также можете выбрать файл, нажав кнопку Обзор и найдя его в диалоговом окне Выбор файла .
Примечание
HtmlForm Чтобы Enctype этот элемент управления работал правильно, свойство элемента управления должно иметь значение multipart/form-data.
Элемент HtmlInputFile управления не имеет встроенного способа отправки обратно на сервер. Чтобы отправить файл на сервер, используйте SaveAs метод System.Web.HttpPostedFile объекта , содержащегося в свойстве PostedFile . Эта операция обычно выполняется методом обработки событий, например для нажатия кнопки.
Примечание
При использовании SaveAs метода HttpPostedFile класса обязательно укажите путь с корнем (например, "C:\MyFiles\Test.txt"). Поведение метода можно указать в разделе конфигурации SaveAshttpRuntime Element (ASP.NET Settings Schema) с атрибутом requireRootedSaveAsPath
. Значение данного атрибута по умолчанию — true
. Если для этого атрибута false
задано значение , то при использовании SaveAs метода без указанного пути будет предпринята попытка поместить файл в systemroot
каталог \system32\inetsrv. По умолчанию этот каталог защищен от записи; поэтому файл не может быть сохранен в нем. Обязательно укажите разрешение на запись для учетной записи, используемой ASP.NET для каталога, в котором вы хотите сохранить файл.
При отправке больших файлов используйте maxRequestLength
атрибут элемента httpRuntime (ASP.NET Settings Schema), чтобы увеличить максимальный допустимый размер файла. Если размер файла превышает указанный размер, в браузере возникает ошибка DNS. При отправке больших файлов также может появиться следующее сообщение об ошибке:
aspnet_wp.exe (PID: 1520) была переработана, так как потребление памяти превысило 460 МБ (60 процентов доступной ОЗУ).
При возникновении этого сообщения об ошибке увеличьте значение атрибута memoryLimit
в элементе processModel Element (ASP.NET Settings Schema) файла Machine.config.
Список начальных значений свойств для экземпляра HtmlInputFileсм. в конструкторе HtmlInputFile .
Конструкторы
HtmlInputFile() |
Инициализирует новый экземпляр класса HtmlInputFile. |
Свойства
Accept |
Получает или задает список кодировок MIME, разделенных запятыми. Список используется для ограничения типов файлов, которые может выбрать пользователь. |
Adapter |
Возвращает конкретный адаптер браузера для элемента управления. (Унаследовано от Control) |
AppRelativeTemplateSourceDirectory |
Возвращает или задает относительно приложения виртуальный каталог объекта Page или UserControl, который содержит этот элемент управления. (Унаследовано от Control) |
Attributes |
Получает коллекцию всех пар имен и значений атрибутов, представленную в теге серверного элемента управления на странице ASP.NET. (Унаследовано от HtmlControl) |
BindingContainer |
Возвращает элемент управления, который содержит привязку данных элемента управления. (Унаследовано от Control) |
ChildControlsCreated |
Возвращает значение, которое указывает, созданы ли дочерние элементы управления серверного элемента управления. (Унаследовано от Control) |
ClientID |
Получает идентификатор элемента управления для HTML-разметки, созданной ASP.NET. (Унаследовано от Control) |
ClientIDMode |
Возвращает или задает алгоритм, используемый для создания значения свойства ClientID. (Унаследовано от Control) |
ClientIDSeparator |
Возвращает значение символа разделителя, используемого в свойстве ClientID. (Унаследовано от Control) |
Context |
Возвращает объект HttpContext, связанный с серверным элементом управления для текущего веб-запроса. (Унаследовано от Control) |
Controls |
Возвращает объект ControlCollection, который представляет дочерние элементы управления для указанного элемента управления сервера в иерархии пользовательского интерфейса. (Унаследовано от Control) |
DataItemContainer |
Возвращает ссылку на контейнер именования, если контейнер именования реализует класс IDataItemContainer. (Унаследовано от Control) |
DataKeysContainer |
Возвращает ссылку на контейнер именования, если контейнер именования реализует класс IDataKeysControl. (Унаследовано от Control) |
DesignMode |
Возвращает значение, указывающее, используется ли элемент управления на поверхности разработки. (Унаследовано от Control) |
Disabled |
Получает или задает значение, показывающее, отключен ли серверный элемент управления HTML. (Унаследовано от HtmlControl) |
EnableTheming |
Возвращает или задает значение, указывающее, применяются ли темы к этому элементу управления. (Унаследовано от Control) |
EnableViewState |
Получает или задает значение, указывающее запрашивающему клиенту, сохраняет ли серверный элемент управления состояние представления и состояние представления своих дочерних элементов управления. (Унаследовано от Control) |
Events |
Возвращает список делегатов обработчиков событий элемента управления. Это свойство доступно только для чтения. (Унаследовано от Control) |
HasChildViewState |
Возвращает значение, которое указывает на наличие сохраненных параметров состояния представления у дочернего элемента серверного элемента управления. (Унаследовано от Control) |
ID |
Возвращает или задает программный идентификатор, назначенный серверному элементу управления. (Унаследовано от Control) |
IdSeparator |
Возвращает символ, используемый для разделения идентификаторов элементов управления. (Унаследовано от Control) |
IsChildControlStateCleared |
Возвращает значение, указывающее, имеют ли элементы управления в этом элементе управления состояние элемента управления. (Унаследовано от Control) |
IsTrackingViewState |
Возвращает значение, отражающее сохранение изменений в состояние представления серверного элемента управления. (Унаследовано от Control) |
IsViewStateEnabled |
Возвращает значение, указывающее, используется ли состояние представления для этого элемента управления. (Унаследовано от Control) |
LoadViewStateByID |
Возвращает значение, указывающее, участвует ли элемент управления в загрузке состояния представления ID вместо индекса. (Унаследовано от Control) |
MaxLength |
Получает или задает максимальную длину пути к файлу для файла, передаваемого с клиентского компьютера. |
Name |
Получает или задает имя уникального идентификатора для элемента управления HtmlInputControl. (Унаследовано от HtmlInputControl) |
NamingContainer |
Возвращает ссылку на контейнер именования элемента управления, создающий уникальное пространство имен для различения серверных элементов управления с одинаковыми значениями свойства ID. (Унаследовано от Control) |
Page |
Возвращает ссылку на экземпляр Page, содержащий серверный элемент управления. (Унаследовано от Control) |
Parent |
Возвращает ссылку на родительский элемент управления серверного элемента управления в иерархии элементов управления страницы. (Унаследовано от Control) |
PostedFile |
Получает доступ к переданному файлу, указанному клиентом. |
RenderingCompatibility |
Возвращает значение, которое задает версию ASP.NET, с которой совместим созданный HTML. (Унаследовано от Control) |
Site |
Возвращает сведения о контейнере, который содержит текущий элемент управления при визуализации на поверхности конструктора. (Унаследовано от Control) |
Size |
Получает или задает ширину текстового поля, в которое вводится путь к файлу. |
SkinID |
Возвращает или задает обложку, применяемую к элементу управления. (Унаследовано от Control) |
Style |
Возвращает коллекцию всех свойств таблицы каскадных стилей (CSS), применяемых к указанному серверному элементу управления HTML в файле ASP.NET. (Унаследовано от HtmlControl) |
TagName |
Получает имя элемента для тега, содержащего пару атрибута и значения |
TemplateControl |
Возвращает или задает ссылку на шаблон, содержащий этот элемент управления. (Унаследовано от Control) |
TemplateSourceDirectory |
Возвращает виртуальный каталог Page или UserControl, содержащий текущий серверный элемент управления. (Унаследовано от Control) |
Type |
Получает тип элемента управления HtmlInputControl. (Унаследовано от HtmlInputControl) |
UniqueID |
Возвращает уникальный идентификатор серверного элемента управления в иерархии. (Унаследовано от Control) |
ValidateRequestMode |
Возвращает или задает значение, указывающее, проверяет ли элемент управления полученный из браузера клиентский ввод на предмет потенциально опасных значений. (Унаследовано от Control) |
Value |
Получает полный путь к файлу на клиентском компьютере. |
ViewState |
Возвращает словарь сведений о состоянии, позволяющих сохранять и восстанавливать состояние представления серверного элемента управления при нескольких запросах одной и той же страницы. (Унаследовано от Control) |
ViewStateIgnoresCase |
Получает значение, определяющее, является ли состояние представления объекта HtmlControl чувствительным к регистру. (Унаследовано от HtmlControl) |
ViewStateMode |
Возвращает или задает режим состояния представления данного элемента управления. (Унаследовано от Control) |
Visible |
Получает или задает значение, указывающее, отрисовывается ли серверный элемент управления как пользовательский интерфейс на странице. (Унаследовано от Control) |
Методы
AddedControl(Control, Int32) |
Вызывается после добавления дочернего элемента управления в коллекцию Controls объекта Control. (Унаследовано от Control) |
AddParsedSubObject(Object) |
Уведомляет серверный элемент управления, что элемент XML или HTML был проанализирован, и добавляет элемент в серверный элемент управления объекта ControlCollection. (Унаследовано от Control) |
ApplyStyleSheetSkin(Page) |
Применяет свойства стиля, определенные в таблице стилей страницы, к элементу управления. (Унаследовано от Control) |
BeginRenderTracing(TextWriter, Object) |
Запускает трассировку во время разработки данных отрисовки. (Унаследовано от Control) |
BuildProfileTree(String, Boolean) |
Собирает сведения о серверном элементе управления и доставляет их свойству Trace, которое отображается при включенной на странице трассировке. (Унаследовано от Control) |
ClearCachedClientID() |
Задает для кэшированного свойства ClientID значение |
ClearChildControlState() |
Удаляет сведения о состоянии элемента управления для дочерних элементов управления серверного элемента управления. (Унаследовано от Control) |
ClearChildState() |
Удаляет сведения о состоянии элемента управления и состоянии представления для всех дочерних элементов серверного элемента управления. (Унаследовано от Control) |
ClearChildViewState() |
Удаляет сведения о состоянии представления для всех дочерних элементов серверного элемента управления. (Унаследовано от Control) |
ClearEffectiveClientIDMode() |
Задает для свойства ClientIDMode текущего экземпляра элемента управления и любых его дочерних элементов управления значение Inherit. (Унаследовано от Control) |
CreateChildControls() |
Вызывается платформой страницы ASP.NET для уведомления серверных элементов управления, использующих составную реализацию, о необходимости создания дочерних элементов управления, содержащихся в них для обратной передачи или отрисовки. (Унаследовано от Control) |
CreateControlCollection() |
Создает новый объект ControlCollection для хранения дочерних элементов управления (литеральных и серверных) серверного элемента управления. (Унаследовано от HtmlControl) |
DataBind() |
Привязывает источник данных к вызываемому серверному элементу управления и всем его дочерним элементам управления. (Унаследовано от Control) |
DataBind(Boolean) |
Привязывает источник данных к вызванному серверному элементу управления и всем его дочерними элементами управления с возможностью вызова события DataBinding. (Унаследовано от Control) |
DataBindChildren() |
Привязывает источник данных к дочерним элементам управления серверного элемента управления. (Унаследовано от Control) |
Dispose() |
Включает серверный элемент управления для выполнения окончательной чистки до освобождения памяти. (Унаследовано от Control) |
EndRenderTracing(TextWriter, Object) |
Завершает трассировку во время разработки данных отрисовки. (Унаследовано от Control) |
EnsureChildControls() |
Определяет наличие у серверного элемента управления дочерних элементов управления. Если дочерних элементов управления нет, они будут созданы. (Унаследовано от Control) |
EnsureID() |
Создает идентификатор для элементов управления, которые не имеют назначенного идентификатора. (Унаследовано от Control) |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
FindControl(String) |
Выполняет поиск серверного элемента управления с заданным параметром |
FindControl(String, Int32) |
Выполняет поиск в текущем контейнере именования серверного элемента управления с указанным |
Focus() |
Задает фокус ввода на элемент управления. (Унаследовано от Control) |
GetAttribute(String) |
Получает значение атрибута с заданным именем в элементе управления HtmlControl. (Унаследовано от HtmlControl) |
GetDesignModeState() |
Возвращает данные времени разработки для элемента управления. (Унаследовано от Control) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetRouteUrl(Object) |
Возвращает URL-адрес, соответствующий набору параметров маршрута. (Унаследовано от Control) |
GetRouteUrl(RouteValueDictionary) |
Возвращает URL-адрес, соответствующий набору параметров маршрута. (Унаследовано от Control) |
GetRouteUrl(String, Object) |
Возвращает URL-адрес, соответствующий набору параметров маршрута и имени маршрута. (Унаследовано от Control) |
GetRouteUrl(String, RouteValueDictionary) |
Возвращает URL-адрес, соответствующий набору параметров маршрута и имени маршрута. (Унаследовано от Control) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
GetUniqueIDRelativeTo(Control) |
Возвращает часть с префиксом свойства UniqueID указанного элемента управления. (Унаследовано от Control) |
HasControls() |
Определяет наличие у серверного элемента управления дочерних элементов управления. (Унаследовано от Control) |
HasEvents() |
Возвращает значение, указывающее, регистрируются ли события для элемента управления или каких-либо дочерних элементов управления. (Унаследовано от Control) |
IsLiteralContent() |
Определяет наличие у серверного элемента управления только текстового содержимого. (Унаследовано от Control) |
LoadControlState(Object) |
Восстанавливает сведения о состоянии элемента управления предыдущего запроса страницы, сохраненные методом SaveControlState(). (Унаследовано от Control) |
LoadPostData(String, NameValueCollection) |
Обрабатывает данные обратной передачи для элемента управления HtmlInputFile. |
LoadViewState(Object) |
Восстанавливает сведения о состоянии представления из предыдущего запроса страницы, сохраненного методом SaveViewState(). (Унаследовано от Control) |
MapPathSecure(String) |
Извлекает физический путь, к которому ведет виртуальный путь (абсолютный или относительный). (Унаследовано от Control) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
OnBubbleEvent(Object, EventArgs) |
Определяет, передается ли событие серверного элемента управления вверх по иерархии серверных элементов управления пользовательского интерфейса страницы. (Унаследовано от Control) |
OnDataBinding(EventArgs) |
Вызывает событие DataBinding. (Унаследовано от Control) |
OnInit(EventArgs) |
Вызывает событие Init. (Унаследовано от Control) |
OnLoad(EventArgs) |
Вызывает событие Load. (Унаследовано от Control) |
OnPreRender(EventArgs) |
Создает событие PreRender элемента управления HtmlInputFile. |
OnUnload(EventArgs) |
Вызывает событие Unload. (Унаследовано от Control) |
OpenFile(String) |
Возвращает Stream, используемое для чтения файла. (Унаследовано от Control) |
RaiseBubbleEvent(Object, EventArgs) |
Присваивает родительскому элементу управления все источники события и сведения о них. (Унаследовано от Control) |
RaisePostDataChangedEvent() |
Уведомляет элемент управления HtmlInputFile об изменении его состояния. |
RemovedControl(Control) |
Вызывается после удаления дочернего элемента управления из коллекции Controls объекта Control. (Унаследовано от Control) |
Render(HtmlTextWriter) |
Записывает содержимое в заданный объект HtmlTextWriter для просмотра на клиентском компьютере. (Унаследовано от HtmlControl) |
RenderAttributes(HtmlTextWriter) |
Отображает атрибуты элемента управления HtmlInputControl в указанный объект HtmlTextWriter. (Унаследовано от HtmlInputControl) |
RenderBeginTag(HtmlTextWriter) |
Выполняет визуализацию открывающего HTML-тега элемента управления в указанный объект HtmlTextWriter. (Унаследовано от HtmlControl) |
RenderChildren(HtmlTextWriter) |
Выводит содержимое дочерних элементов серверного элемента управления в предоставленный объект HtmlTextWriter, который записывает это содержимое для подготовки к просмотру на клиенте. (Унаследовано от Control) |
RenderControl(HtmlTextWriter) |
Выводит содержимое серверного элемента управления в указанный объект HtmlTextWriter и сохраняет сведения о трассировке элемента управления, если трассировка включена. (Унаследовано от Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Выводит серверный элемент управления в указанный объект HtmlTextWriter, используя указанный объект ControlAdapter. (Унаследовано от Control) |
ResolveAdapter() |
Возвращает адаптер элемента управления, отвечающий за отрисовку определенного элемента управления. (Унаследовано от Control) |
ResolveClientUrl(String) |
Возвращает URL-адрес, который может использоваться браузером. (Унаследовано от Control) |
ResolveUrl(String) |
Преобразует URL-адрес в адрес, доступный для клиента. (Унаследовано от Control) |
SaveControlState() |
Сохраняет любые изменения состояния серверного элемента управления, произошедшие после отправки страницы обратно на сервер. (Унаследовано от Control) |
SaveViewState() |
Сохраняет любые изменения состояния просмотра серверного элемента управления, произошедшие после отправки страницы обратно на сервер. (Унаследовано от Control) |
SetAttribute(String, String) |
Задает значение атрибута с заданным именем в элементе управления HtmlControl. (Унаследовано от HtmlControl) |
SetDesignModeState(IDictionary) |
Задает данные времени разработки для элемента управления. (Унаследовано от Control) |
SetRenderMethodDelegate(RenderMethod) |
Назначает делегата обработчика событий для преобразования серверного элемента управления и его содержимого для просмотра в родительский элемент управления. (Унаследовано от Control) |
SetTraceData(Object, Object) |
Задает данные трассировки для трассировки данных отрисовки во время разработки, используя ключ данных трассировки и значение данных трассировки. (Унаследовано от Control) |
SetTraceData(Object, Object, Object) |
Задает данные трассировки для трассировки данных отрисовки во время разработки, используя трассируемый объект, ключ данных трассировки и значение данных трассировки. (Унаследовано от Control) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
TrackViewState() |
Вызывает отслеживание изменений состояния представления серверного элемента управления для сохранения в объекте StateBag серверного элемента управления. Этот объект доступен с помощью свойства ViewState. (Унаследовано от Control) |
События
DataBinding |
Происходит при привязке серверного элемента управления к источнику данных. (Унаследовано от Control) |
Disposed |
Происходит при освобождении памяти, занятой серверным элементом управления, т.е. на последнем этапе жизненного цикла серверного элемента управления при запросе страницы ASP.NET. (Унаследовано от Control) |
Init |
Происходит при инициализации серверного элемента управления, который находится на первом этапе его жизненного цикла. (Унаследовано от Control) |
Load |
Происходит при загрузке серверного элемента управления в объект Page. (Унаследовано от Control) |
PreRender |
Происходит после загрузки объекта Control, но перед отрисовкой. (Унаследовано от Control) |
Unload |
Происходит при выгрузке серверного элемента управления из памяти. (Унаследовано от Control) |
Явные реализации интерфейса
Методы расширения
FindDataSourceControl(Control) |
Возвращает источник данных, связанный с элементом управления данными, для заданного элемента управления. |
FindFieldTemplate(Control, String) |
Возвращает шаблон поля для заданного столбца в контейнере именования заданного элемента управления. |
FindMetaTable(Control) |
Возвращает объект метатаблицы для контейнерного элемента управления данными. |