HtmlInputFile Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Permite el acceso mediante programación al elemento HTML <input type= file> en el servidor.
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
- Herencia
- Atributos
- Implementaciones
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar el HtmlInputFile control para crear un escenario de carga de archivos simple. Para que este ejemplo funcione correctamente, debe crear un directorio llamado Temp en la unidad C del equipo.
<%@ 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>
Comentarios
Use el HtmlInputFile control de servidor para controlar la carga de archivos binarios o de texto desde un cliente del explorador al servidor. La carga de archivos funciona con Microsoft Internet Explorer versión 3.02 o posterior.
Nota:
El HtmlInputFile control está diseñado para usarse solo en escenarios de postback y no en escenarios de postback asincrónicos durante la representación parcial de páginas. Cuando se usa un HtmlInputFile control dentro de un UpdatePanel control, el archivo debe cargarse mediante un control que sea un PostBackTrigger objeto para el panel. UpdatePanel Los controles se usan para actualizar las regiones seleccionadas de una página en lugar de actualizar toda la página con un postback. Para obtener más información, vea Información general sobre el control UpdatePanel y Partial-Page Información general sobre la representación.
Para especificar el archivo que se va a cargar, escriba la ruta de acceso completa al archivo (por ejemplo, "C:\MyFiles\Test.txt") en el cuadro de texto del control. También puede seleccionar el archivo haciendo clic en el botón Examinar y localizándolo en el cuadro de diálogo Elegir archivo .
Nota:
La Enctype propiedad de un HtmlForm control debe establecerse en "multipart/form-data" para que este control funcione correctamente.
El HtmlInputFile control no tiene una manera integrada de volver a publicar en el servidor. Para cargar el archivo en el servidor, use el SaveAs método del System.Web.HttpPostedFile objeto contenido en la PostedFile propiedad . Esta operación se realiza normalmente en un método de control de eventos, como para un clic de botón.
Nota:
Al usar el SaveAs método de la HttpPostedFile clase , asegúrese de especificar una ruta de acceso raíz (por ejemplo, "C:\MyFiles\Test.txt"). El comportamiento del SaveAs método se puede especificar en la sección de configuración httpRuntime Element (ASP.NET Settings Schema) con el requireRootedSaveAsPath atributo . El valor predeterminado de este atributo es true. Si establece este atributo falseen , el uso del SaveAs método sin ruta de acceso especificada intentará colocar el archivo en el systemroot directorio \system32\inetsrv. De forma predeterminada, este directorio está protegido por escritura; Por lo tanto, el archivo no se puede guardar allí. Asegúrese de proporcionar permiso de escritura para la cuenta usada por ASP.NET para el directorio en el que desea almacenar el archivo.
Al cargar archivos grandes, use el maxRequestLength atributo del elemento httpRuntime (ASP.NET Esquema de configuración) para aumentar el tamaño máximo permitido del archivo. Se genera un error DNS en el explorador cuando el archivo supera el tamaño especificado. También puede recibir el siguiente mensaje de error al cargar archivos grandes:
aspnet_wp.exe (PID: 1520) se recicla porque el consumo de memoria superó los 460 MB (el 60 por ciento de la RAM disponible).
Si encuentra este mensaje de error, aumente el valor del memoryLimit atributo en el elemento processModel Element (ASP.NET Settings Schema) del archivo Machine.config.
Para obtener una lista de valores de propiedad iniciales para una instancia de HtmlInputFile, vea el HtmlInputFile constructor .
Constructores
| Nombre | Description |
|---|---|
| HtmlInputFile() |
Inicializa una nueva instancia de la clase HtmlInputFile. |
Propiedades
| Nombre | Description |
|---|---|
| Accept |
Obtiene o establece una lista separada por comas de codificaciones MIME usadas para restringir los tipos de archivo que el usuario puede seleccionar. |
| Adapter |
Obtiene el adaptador específico del explorador para el control . (Heredado de Control) |
| AppRelativeTemplateSourceDirectory |
Obtiene o establece el directorio virtual relativo a la Page aplicación del objeto o UserControl que contiene este control. (Heredado de Control) |
| Attributes |
Obtiene una colección de todos los pares de nombre y valor de atributo expresados en una etiqueta de control de servidor dentro de la página ASP.NET. (Heredado de HtmlControl) |
| BindingContainer |
Obtiene el control que contiene el enlace de datos de este control. (Heredado de Control) |
| ChildControlsCreated |
Obtiene un valor que indica si se han creado los controles secundarios del control de servidor. (Heredado de Control) |
| ClientID |
Obtiene el identificador de control para el marcado HTML generado por ASP.NET. (Heredado de Control) |
| ClientIDMode |
Obtiene o establece el algoritmo que se usa para generar el valor de la ClientID propiedad . (Heredado de Control) |
| ClientIDSeparator |
Obtiene un valor de carácter que representa el carácter separador utilizado en la ClientID propiedad . (Heredado de Control) |
| Context |
Obtiene el HttpContext objeto asociado al control de servidor para la solicitud web actual. (Heredado de Control) |
| Controls |
Obtiene un ControlCollection objeto que representa los controles secundarios de un control de servidor especificado en la jerarquía de la interfaz de usuario. (Heredado de Control) |
| DataItemContainer |
Obtiene una referencia al contenedor de nomenclatura si el contenedor de nomenclatura implementa IDataItemContainer. (Heredado de Control) |
| DataKeysContainer |
Obtiene una referencia al contenedor de nomenclatura si el contenedor de nomenclatura implementa IDataKeysControl. (Heredado de Control) |
| DesignMode |
Obtiene un valor que indica si se usa un control en una superficie de diseño. (Heredado de Control) |
| Disabled |
Obtiene o establece un valor que indica si el control de servidor HTML está deshabilitado. (Heredado de HtmlControl) |
| EnableTheming |
Obtiene o establece un valor que indica si los temas se aplican a este control. (Heredado de Control) |
| EnableViewState |
Obtiene o establece un valor que indica si el control de servidor conserva su estado de vista y el estado de vista de los controles secundarios que contiene, al cliente solicitante. (Heredado de Control) |
| Events |
Obtiene una lista de delegados del controlador de eventos para el control . Esta propiedad es de solo lectura. (Heredado de Control) |
| HasChildViewState |
Obtiene un valor que indica si los controles secundarios del control de servidor actual tienen cualquier configuración de estado de vista guardada. (Heredado de Control) |
| ID |
Obtiene o establece el identificador de programación asignado al control de servidor. (Heredado de Control) |
| IdSeparator |
Obtiene el carácter usado para separar los identificadores de control. (Heredado de Control) |
| IsChildControlStateCleared |
Obtiene un valor que indica si los controles contenidos en este control tienen estado de control. (Heredado de Control) |
| IsTrackingViewState |
Obtiene un valor que indica si el control de servidor guarda los cambios en su estado de vista. (Heredado de Control) |
| IsViewStateEnabled |
Obtiene un valor que indica si el estado de vista está habilitado para este control. (Heredado de Control) |
| LoadViewStateByID |
Obtiene un valor que indica si el control participa en la carga de su estado de vista en ID lugar del índice. (Heredado de Control) |
| MaxLength |
Obtiene o establece la longitud máxima de la ruta de acceso del archivo para que el archivo se cargue desde el equipo cliente. |
| Name |
Obtiene o establece el nombre de identificador único del HtmlInputControl control. (Heredado de HtmlInputControl) |
| NamingContainer |
Obtiene una referencia al contenedor de nomenclatura del control de servidor, que crea un espacio de nombres único para diferenciar entre los controles de servidor con el mismo ID valor de propiedad. (Heredado de Control) |
| Page |
Obtiene una referencia a la Page instancia que contiene el control de servidor. (Heredado de Control) |
| Parent |
Obtiene una referencia al control primario del control de servidor en la jerarquía de controles de página. (Heredado de Control) |
| PostedFile |
Obtiene acceso al archivo cargado especificado por un cliente. |
| RenderingCompatibility |
Obtiene un valor que especifica la versión de ASP.NET con la que se representará HTML. (Heredado de Control) |
| Site |
Obtiene información sobre el contenedor que hospeda el control actual cuando se representa en una superficie de diseño. (Heredado de Control) |
| Size |
Obtiene o establece el ancho del cuadro de texto en el que se escribe la ruta de acceso del archivo. |
| SkinID |
Obtiene o establece la máscara que se va a aplicar al control. (Heredado de Control) |
| Style |
Obtiene una colección de todas las propiedades de hoja de estilos en cascada (CSS) aplicadas a un control de servidor HTML especificado en el archivo ASP.NET. (Heredado de HtmlControl) |
| TagName |
Obtiene el nombre de elemento de una etiqueta que contiene un |
| TemplateControl |
Obtiene o establece una referencia a la plantilla que contiene este control. (Heredado de Control) |
| TemplateSourceDirectory |
Obtiene el directorio virtual de Page o UserControl que contiene el control de servidor actual. (Heredado de Control) |
| Type |
Obtiene el tipo de un HtmlInputControlobjeto . (Heredado de HtmlInputControl) |
| UniqueID |
Obtiene el identificador único calificado jerárquicamente para el control de servidor. (Heredado de Control) |
| ValidateRequestMode |
Obtiene o establece un valor que indica si el control comprueba la entrada del cliente desde el explorador para detectar valores potencialmente peligrosos. (Heredado de Control) |
| Value |
Obtiene la ruta de acceso completa del archivo en el equipo del cliente. |
| ViewState |
Obtiene un diccionario de información de estado que permite guardar y restaurar el estado de vista de un control de servidor en varias solicitudes para la misma página. (Heredado de Control) |
| ViewStateIgnoresCase |
Obtiene un valor que indica si el estado de vista HtmlControl distingue mayúsculas de minúsculas. (Heredado de HtmlControl) |
| ViewStateMode |
Obtiene o establece el modo de estado de vista de este control. (Heredado de Control) |
| Visible |
Obtiene o establece un valor que indica si un control de servidor se representa como interfaz de usuario en la página. (Heredado de Control) |
Métodos
| Nombre | Description |
|---|---|
| AddedControl(Control, Int32) |
Se llama después de agregar un control secundario a la Controls colección del Control objeto . (Heredado de Control) |
| AddParsedSubObject(Object) |
Notifica al control de servidor que se ha analizado un elemento, ya sea XML o HTML, y agrega el elemento al objeto del control de ControlCollection servidor. (Heredado de Control) |
| ApplyStyleSheetSkin(Page) |
Aplica las propiedades de estilo definidas en la hoja de estilos de página al control . (Heredado de Control) |
| BeginRenderTracing(TextWriter, Object) |
Comienza el seguimiento en tiempo de diseño de los datos de representación. (Heredado de Control) |
| BuildProfileTree(String, Boolean) |
Recopila información sobre el control de servidor y la entrega a la Trace propiedad que se va a mostrar cuando el seguimiento está habilitado para la página. (Heredado de Control) |
| ClearCachedClientID() |
Establece el valor |
| ClearChildControlState() |
Elimina la información de estado de control de los controles secundarios del control de servidor. (Heredado de Control) |
| ClearChildState() |
Elimina la información de estado de vista y estado de control de todos los controles secundarios del control de servidor. (Heredado de Control) |
| ClearChildViewState() |
Elimina la información de estado de vista de todos los controles secundarios del control de servidor. (Heredado de Control) |
| ClearEffectiveClientIDMode() |
Establece la ClientIDMode propiedad de la instancia de control actual y de cualquier control secundario en Inherit. (Heredado de Control) |
| CreateChildControls() |
Llamado por el marco de ASP.NET página para notificar a los controles de servidor que usan la implementación basada en composición para crear los controles secundarios que contengan como preparación para la publicación o representación. (Heredado de Control) |
| CreateControlCollection() |
Crea un nuevo ControlCollection objeto para contener los controles secundarios (literal y servidor) del control de servidor. (Heredado de HtmlControl) |
| DataBind() |
Enlaza un origen de datos al control de servidor invocado y a todos sus controles secundarios. (Heredado de Control) |
| DataBind(Boolean) |
Enlaza un origen de datos al control de servidor invocado y a todos sus controles secundarios con una opción para generar el DataBinding evento. (Heredado de Control) |
| DataBindChildren() |
Enlaza un origen de datos a los controles secundarios del control de servidor. (Heredado de Control) |
| Dispose() |
Permite que un control de servidor realice la limpieza final antes de liberarse de la memoria. (Heredado de Control) |
| EndRenderTracing(TextWriter, Object) |
Finaliza el seguimiento en tiempo de diseño de los datos de representación. (Heredado de Control) |
| EnsureChildControls() |
Determina si el control de servidor contiene controles secundarios. Si no es así, crea controles secundarios. (Heredado de Control) |
| EnsureID() |
Crea un identificador para los controles que no tienen asignado un identificador. (Heredado de Control) |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| FindControl(String, Int32) |
Busca en el contenedor de nomenclatura actual un control de servidor con el especificado |
| FindControl(String) |
Busca en el contenedor de nomenclatura actual un control de servidor con el parámetro especificado |
| Focus() |
Establece el foco de entrada en un control. (Heredado de Control) |
| GetAttribute(String) |
Obtiene el valor del atributo con nombre en el HtmlControl control . (Heredado de HtmlControl) |
| GetDesignModeState() |
Obtiene los datos en tiempo de diseño de un control. (Heredado de Control) |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetRouteUrl(Object) |
Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta. (Heredado de Control) |
| GetRouteUrl(RouteValueDictionary) |
Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta. (Heredado de Control) |
| GetRouteUrl(String, Object) |
Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta y un nombre de ruta. (Heredado de Control) |
| GetRouteUrl(String, RouteValueDictionary) |
Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta y un nombre de ruta. (Heredado de Control) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| GetUniqueIDRelativeTo(Control) |
Devuelve la parte prefijo de la UniqueID propiedad del control especificado. (Heredado de Control) |
| HasControls() |
Determina si el control de servidor contiene controles secundarios. (Heredado de Control) |
| HasEvents() |
Devuelve un valor que indica si los eventos están registrados para el control o para los controles secundarios. (Heredado de Control) |
| IsLiteralContent() |
Determina si el control de servidor contiene solo contenido literal. (Heredado de Control) |
| LoadControlState(Object) |
Restaura la información de estado de control de una solicitud de página anterior guardada por el SaveControlState() método . (Heredado de Control) |
| LoadPostData(String, NameValueCollection) |
Procesa los datos de postback para el HtmlInputFile control. |
| LoadViewState(Object) |
Restaura la información de estado de vista de una solicitud de página anterior guardada por el SaveViewState() método . (Heredado de Control) |
| MapPathSecure(String) |
Recupera la ruta de acceso física a la que se asigna una ruta de acceso virtual, absoluta o relativa. (Heredado de Control) |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| OnBubbleEvent(Object, EventArgs) |
Determina si el evento del control de servidor se pasa a la jerarquía de controles de servidor de interfaz de usuario de la página. (Heredado de Control) |
| OnDataBinding(EventArgs) |
Genera el evento DataBinding. (Heredado de Control) |
| OnInit(EventArgs) |
Genera el evento Init. (Heredado de Control) |
| OnLoad(EventArgs) |
Genera el evento Load. (Heredado de Control) |
| OnPreRender(EventArgs) |
Genera el PreRender evento para el HtmlInputFile control . |
| OnUnload(EventArgs) |
Genera el evento Unload. (Heredado de Control) |
| OpenFile(String) |
Obtiene un objeto Stream que se usa para leer un archivo. (Heredado de Control) |
| RaiseBubbleEvent(Object, EventArgs) |
Asigna cualquier origen del evento y su información al elemento primario del control. (Heredado de Control) |
| RaisePostDataChangedEvent() |
Notifica al HtmlInputFile control que ha cambiado el estado del control. |
| RemovedControl(Control) |
Se llama después de quitar un control secundario de la Controls colección del Control objeto . (Heredado de Control) |
| Render(HtmlTextWriter) |
Escribe contenido para representarlo en un cliente en el objeto especificado HtmlTextWriter . (Heredado de HtmlControl) |
| RenderAttributes(HtmlTextWriter) |
Representa los atributos del HtmlInputControl control en el objeto especificado HtmlTextWriter . (Heredado de HtmlInputControl) |
| RenderBeginTag(HtmlTextWriter) |
Representa la etiqueta HTML de apertura del control en el objeto especificado HtmlTextWriter . (Heredado de HtmlControl) |
| RenderChildren(HtmlTextWriter) |
Genera el contenido de los elementos secundarios de un control de servidor en un objeto proporcionado HtmlTextWriter , que escribe el contenido que se va a representar en el cliente. (Heredado de Control) |
| RenderControl(HtmlTextWriter, ControlAdapter) |
Genera contenido de control de servidor en un objeto proporcionado HtmlTextWriter mediante un objeto proporcionado ControlAdapter . (Heredado de Control) |
| RenderControl(HtmlTextWriter) |
Genera contenido de control de servidor en un objeto proporcionado HtmlTextWriter y almacena información de seguimiento sobre el control si el seguimiento está habilitado. (Heredado de Control) |
| ResolveAdapter() |
Obtiene el adaptador de control responsable de representar el control especificado. (Heredado de Control) |
| ResolveClientUrl(String) |
Obtiene una dirección URL que el explorador puede usar. (Heredado de Control) |
| ResolveUrl(String) |
Convierte una dirección URL en una que se pueda usar en el cliente solicitante. (Heredado de Control) |
| SaveControlState() |
Guarda los cambios de estado de control de servidor que se han producido desde el momento en que se devolvió la página al servidor. (Heredado de Control) |
| SaveViewState() |
Guarda los cambios de estado de vista de control de servidor que se han producido desde el momento en que la página se devolvió al servidor. (Heredado de Control) |
| SetAttribute(String, String) |
Establece el valor del atributo con nombre en el HtmlControl control . (Heredado de HtmlControl) |
| SetDesignModeState(IDictionary) |
Establece los datos en tiempo de diseño de un control. (Heredado de Control) |
| SetRenderMethodDelegate(RenderMethod) |
Asigna un delegado de controlador de eventos para representar el control de servidor y su contenido en su control primario. (Heredado de Control) |
| SetTraceData(Object, Object, Object) |
Establece los datos de seguimiento para el seguimiento en tiempo de diseño de los datos de representación, mediante el objeto rastreado, la clave de datos de seguimiento y el valor de los datos de seguimiento. (Heredado de Control) |
| SetTraceData(Object, Object) |
Establece los datos de seguimiento para el seguimiento en tiempo de diseño de los datos de representación, mediante la clave de datos de seguimiento y el valor de los datos de seguimiento. (Heredado de Control) |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
| TrackViewState() |
Provoca el seguimiento de los cambios de estado de vista en el control de servidor para que se puedan almacenar en el objeto del control de StateBag servidor. Este objeto es accesible a través de la ViewState propiedad . (Heredado de Control) |
Eventos
| Nombre | Description |
|---|---|
| DataBinding |
Se produce cuando el control de servidor se enlaza a un origen de datos. (Heredado de Control) |
| Disposed |
Se produce cuando se libera un control de servidor de la memoria, que es la última fase del ciclo de vida del control de servidor cuando se solicita una página de ASP.NET. (Heredado de Control) |
| Init |
Se produce cuando se inicializa el control de servidor, que es el primer paso de su ciclo de vida. (Heredado de Control) |
| Load |
Se produce cuando el control de servidor se carga en el Page objeto . (Heredado de Control) |
| PreRender |
Se produce después de cargar el Control objeto, pero antes de la representación. (Heredado de Control) |
| Unload |
Se produce cuando el control de servidor se descarga de la memoria. (Heredado de Control) |
Implementaciones de interfaz explícitas
Métodos de extensión
| Nombre | Description |
|---|---|
| FindDataSourceControl(Control) |
Devuelve el origen de datos asociado al control de datos para el control especificado. |
| FindFieldTemplate(Control, String) |
Devuelve la plantilla de campo de la columna especificada en el contenedor de nomenclatura del control especificado. |
| FindMetaTable(Control) |
Devuelve el objeto de metatable para el control de datos contenedor. |