HttpFileCollection Clase

Definición

Proporciona acceso a los archivos cargados por un cliente y los organiza.

public ref class HttpFileCollection sealed : System::Collections::Specialized::NameObjectCollectionBase
public sealed class HttpFileCollection : System.Collections.Specialized.NameObjectCollectionBase
type HttpFileCollection = class
    inherit NameObjectCollectionBase
Public NotInheritable Class HttpFileCollection
Inherits NameObjectCollectionBase
Herencia
HttpFileCollection

Ejemplos

En el ejemplo siguiente se muestra cómo obtener acceso a la HttpFileCollection colección devuelta desde la Files propiedad del HttpRequest objeto . La HttpFileCollection colección se rellena mediante dos FileUpload controles en la página web. Los elementos de la colección de archivos se muestran en un BulletedList control .

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void Button1_Click(object sender, EventArgs e)
    {
        // Clear the BulletedList.
        BulletedList1.Items.Clear();
        
        // Check to see if at least one file was specified.
        if (FileUpload1.HasFile | FileUpload2.HasFile)
        {
            Label1.Text = "The file collection consists of:";
            
            // Get the HttpFileCollection.
            HttpFileCollection hfc = Request.Files;
            foreach (String h in hfc.AllKeys)
            {
                // Add an item to the BulletedList if a file
                // was specified for the corresponding control.
                if (hfc[h].ContentLength > 0)
                    BulletedList1.Items.Add(Server.HtmlEncode(hfc[h].FileName));
            }
            
        }
        else
        {
            Label1.Text = "You did not specify any files to upload or " +
                "the file(s) could not be found.";
        }

    }        
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HttpFileCollection Example</title>
</head>
<body>
    <form id="form1" 
          runat="server">
    <div>
        <asp:FileUpload ID="FileUpload1" 
                        runat="server" />
        <br />
        <asp:FileUpload ID="FileUpload2" 
                        runat="server" />
        <br />
        <asp:Button ID="Button1" 
                    runat="server" 
                    OnClick="Button1_Click" 
                    Text="Upload" />
        <br />
        <asp:Label ID="Label1" 
                   runat="server"/>
        <br />
        <asp:BulletedList ID="BulletedList1" 
                          runat="server">
        </asp:BulletedList>
        </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

        ' Clear the BulletedList.
        BulletedList1.Items.Clear()
        
        ' Check to see if at least one file was specified.
        If (FileUpload1.HasFile Or FileUpload2.HasFile) Then
            
            Label1.Text = "The file collection consists of:"
            
            ' Get the HttpFileCollection.
            Dim hfc As HttpFileCollection = Request.Files
            For Each h As String In hfc.AllKeys
                
                ' Add an item to the BulletedList if a file
                ' was specified for the corresponding control.
                If (hfc(h).ContentLength > 0) Then
                    BulletedList1.Items.Add(Server.HtmlEncode(hfc(h).FileName))
                End If
            Next
        Else
            
            Label1.Text = "You did not specify any files to upload or " & _
                "the file(s) could not be found."
            
        End If
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>HttpFileCollection Example</title>
</head>
<body>
    <form id="form1" 
          runat="server">
    <div>
        <asp:FileUpload ID="FileUpload1" 
                        runat="server" />
        <br />
        <asp:FileUpload ID="FileUpload2" 
                        runat="server" />
        <br />
        <asp:Button ID="Button1" 
                    runat="server" 
                    OnClick="Button1_Click" 
                    Text="Upload" />
        <br />
        <asp:Label ID="Label1" 
                   runat="server"/>
        <br />
        <asp:BulletedList ID="BulletedList1" 
                          runat="server">
        </asp:BulletedList>
        </div>
    </form>
</body>
</html>

Comentarios

Los clientes codifican archivos y los transmiten en el cuerpo del contenido mediante el formato MIME de varias partes con un encabezado HTTP Content-Type de multipart/form-data. ASP.NET extrae los archivos codificados del cuerpo de contenido en miembros individuales de .HttpFileCollection Los métodos y propiedades de la HttpPostedFile clase proporcionan acceso al contenido y las propiedades de cada archivo.

Propiedades

AllKeys

Obtiene una matriz de cadenas que contiene las claves (los nombres) de todos los miembros de la colección de archivos.

Count

Obtiene el número de pares de clave y valor incluidos en la instancia NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)
IsReadOnly

Obtiene o establece un valor que indica si la instancia NameObjectCollectionBase es de solo lectura.

(Heredado de NameObjectCollectionBase)
Item[Int32]

Obtiene el objeto con el índice numérico especificado desde HttpFileCollection.

Item[String]

Obtiene el objeto con el nombre especificado de la colección de archivos.

Keys

Obtiene una instancia NameObjectCollectionBase.KeysCollection que contiene todas las claves de la instancia NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)

Métodos

BaseAdd(String, Object)

Agrega una entrada con la clave y el valor especificados a la instancia NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)
BaseClear()

Elimina todas las entradas de la instancia NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)
BaseGet(Int32)

Obtiene el valor de la entrada que se encuentra en el índice especificado de la instancia NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)
BaseGet(String)

Obtiene el valor de la primera entrada con la clave especificada desde la instancia NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)
BaseGetAllKeys()

Devuelve una matriz String que contiene todas las claves de la instancia NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)
BaseGetAllValues()

Devuelve una matriz Object que contiene todos los valores de la instancia NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)
BaseGetAllValues(Type)

Devuelve una matriz del tipo especificado que contiene todos los valores de la instancia NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)
BaseGetKey(Int32)

Obtiene la clave de la entrada que se encuentra en el índice especificado de la instancia NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)
BaseHasKeys()

Obtiene un valor que indica si la instancia NameObjectCollectionBase contiene entradas cuyas claves no son null.

(Heredado de NameObjectCollectionBase)
BaseRemove(String)

Quita las entradas con la clave especificada de la instancia de NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)
BaseRemoveAt(Int32)

Elimina la entrada que se encuentra en el índice especificado de la instancia NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)
BaseSet(Int32, Object)

Establece el valor de la entrada que se encuentra en el índice especificado de la instancia NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)
BaseSet(String, Object)

Establece el valor de la primera entrada con la clave especificada de la instancia NameObjectCollectionBase, si la encuentra; en caso contrario, agrega una entrada con la clave y el valor especificados a la instancia NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)
CopyTo(Array, Int32)

Copia los miembros de la colección de archivos en un objeto Array a partir del índice especificado de la matriz.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Get(Int32)

Devuelve el objeto HttpPostedFile con el índice numérico especificado de la colección de archivos.

Get(String)

Devuelve el objeto HttpPostedFile con el nombre especificado de la colección de archivos.

GetEnumerator()

Devuelve un enumerador que recorre en iteración la colección NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetKey(Int32)

Devuelve el nombre del miembro HttpFileCollection con el índice numérico especificado.

GetMultiple(String)

Devuelve todos los archivos que coinciden con el nombre especificado.

GetObjectData(SerializationInfo, StreamingContext)

Implementa la interfaz de ISerializable y devuelve los datos necesarios para serializar la instancia de NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnDeserialization(Object)

Implementa la interfaz ISerializable y genera el evento de deserialización cuando esta ha finalizado.

(Heredado de NameObjectCollectionBase)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

ICollection.CopyTo(Array, Int32)

Copia la totalidad de NameObjectCollectionBase en una matriz Array unidimensional compatible, comenzando en el índice especificado de la matriz de destino.

(Heredado de NameObjectCollectionBase)
ICollection.IsSynchronized

Obtiene un valor que indica si el acceso al objeto NameObjectCollectionBase está sincronizado (es seguro para subprocesos).

(Heredado de NameObjectCollectionBase)
ICollection.SyncRoot

Obtiene un objeto que puede utilizarse para sincronizar el acceso al objeto NameObjectCollectionBase.

(Heredado de NameObjectCollectionBase)

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.

Se aplica a

Consulte también