Condividi tramite


HttpFileCollection Classe

Definizione

Fornisce l'accesso e organizza i file caricati da un client.

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
Ereditarietà
HttpFileCollection

Esempio

Nell'esempio seguente viene illustrato come accedere all'insieme HttpFileCollection restituito dalla Files proprietà dell'oggetto HttpRequest . La HttpFileCollection raccolta viene popolata da due FileUpload controlli nella pagina Web. Gli elementi nella raccolta di file vengono visualizzati in un BulletedList controllo .

<%@ 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>

Commenti

I client codificano i file e li trasmettono nel corpo del contenuto usando il formato MIME multipart con un'intestazione HTTP Content-Type di multipart/form-data. ASP.NET estrae i file codificati dal corpo del contenuto in singoli membri di un oggetto HttpFileCollection. I metodi e le proprietà della HttpPostedFile classe forniscono l'accesso al contenuto e alle proprietà di ogni file.

Proprietà

Nome Descrizione
AllKeys

Ottiene una matrice di stringhe contenente le chiavi (nomi) di tutti i membri nella raccolta di file.

Count

Ottiene il numero di coppie chiave/valore contenute nell'istanza NameObjectCollectionBase di .

(Ereditato da NameObjectCollectionBase)
IsReadOnly

Ottiene o imposta un valore che indica se l'istanza NameObjectCollectionBase è di sola lettura.

(Ereditato da NameObjectCollectionBase)
Item[Int32]

Ottiene l'oggetto con l'indice numerico specificato dall'oggetto HttpFileCollection.

Item[String]

Ottiene l'oggetto con il nome specificato dall'insieme di file.

Keys

Ottiene un'istanza NameObjectCollectionBase.KeysCollection che contiene tutte le chiavi nell'istanza NameObjectCollectionBase di .

(Ereditato da NameObjectCollectionBase)

Metodi

Nome Descrizione
BaseAdd(String, Object)

Aggiunge una voce con la chiave e il valore specificati nell'istanza NameObjectCollectionBase di .

(Ereditato da NameObjectCollectionBase)
BaseClear()

Rimuove tutte le voci dall'istanza NameObjectCollectionBase di .

(Ereditato da NameObjectCollectionBase)
BaseGet(Int32)

Ottiene il valore della voce in corrispondenza dell'indice specificato dell'istanza NameObjectCollectionBase .

(Ereditato da NameObjectCollectionBase)
BaseGet(String)

Ottiene il valore della prima voce con la chiave specificata dall'istanza NameObjectCollectionBase di .

(Ereditato da NameObjectCollectionBase)
BaseGetAllKeys()

Restituisce una String matrice che contiene tutte le chiavi nell'istanza NameObjectCollectionBase di .

(Ereditato da NameObjectCollectionBase)
BaseGetAllValues()

Restituisce una Object matrice che contiene tutti i valori nell'istanza NameObjectCollectionBase di .

(Ereditato da NameObjectCollectionBase)
BaseGetAllValues(Type)

Restituisce una matrice del tipo specificato che contiene tutti i valori nell'istanza NameObjectCollectionBase di .

(Ereditato da NameObjectCollectionBase)
BaseGetKey(Int32)

Ottiene la chiave della voce in corrispondenza dell'indice specificato dell'istanza NameObjectCollectionBase .

(Ereditato da NameObjectCollectionBase)
BaseHasKeys()

Ottiene un valore che indica se l'istanza NameObjectCollectionBase contiene voci le cui chiavi non nullsono .

(Ereditato da NameObjectCollectionBase)
BaseRemove(String)

Rimuove le voci con la chiave specificata dall'istanza NameObjectCollectionBase di .

(Ereditato da NameObjectCollectionBase)
BaseRemoveAt(Int32)

Rimuove la voce in corrispondenza dell'indice specificato dell'istanza NameObjectCollectionBase .

(Ereditato da NameObjectCollectionBase)
BaseSet(Int32, Object)

Imposta il valore della voce in corrispondenza dell'indice specificato dell'istanza NameObjectCollectionBase .

(Ereditato da NameObjectCollectionBase)
BaseSet(String, Object)

Imposta il valore della prima voce con la chiave specificata nell'istanza NameObjectCollectionBase , se presente; in caso contrario, aggiunge una voce con la chiave e il valore specificati nell'istanza NameObjectCollectionBase .

(Ereditato da NameObjectCollectionBase)
CopyTo(Array, Int32)

Copia i membri dell'insieme di file in un Array oggetto a partire dall'indice specificato della matrice.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Get(Int32)

Restituisce l'oggetto con l'indice HttpPostedFile numerico specificato dall'insieme di file.

Get(String)

Restituisce l'oggetto HttpPostedFile con il nome specificato dall'insieme di file.

GetEnumerator()

Restituisce un enumeratore che scorre l'oggetto NameObjectCollectionBase.

(Ereditato da NameObjectCollectionBase)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetKey(Int32)

Restituisce il nome del HttpFileCollection membro con l'indice numerico specificato.

GetMultiple(String)

Restituisce tutti i file che corrispondono al nome specificato.

GetObjectData(SerializationInfo, StreamingContext)
Obsoleti.

Implementa l'interfaccia ISerializable e restituisce i dati necessari per serializzare l'istanza NameObjectCollectionBase .

(Ereditato da NameObjectCollectionBase)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnDeserialization(Object)

Implementa l'interfaccia ISerializable e genera l'evento di deserializzazione al termine della deserializzazione.

(Ereditato da NameObjectCollectionBase)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
ICollection.CopyTo(Array, Int32)

Copia l'intero NameObjectCollectionBase oggetto in un oggetto unidimensionale Arraycompatibile, a partire dall'indice specificato della matrice di destinazione.

(Ereditato da NameObjectCollectionBase)
ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso all'oggetto NameObjectCollectionBase è sincronizzato (thread-safe).

(Ereditato da NameObjectCollectionBase)
ICollection.SyncRoot

Ottiene un oggetto che può essere utilizzato per sincronizzare l'accesso all'oggetto NameObjectCollectionBase .

(Ereditato da NameObjectCollectionBase)

Metodi di estensione

Nome Descrizione
AsParallel(IEnumerable)

Abilita la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un IEnumerable in un IQueryable.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un IEnumerable al tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un IEnumerable in base a un tipo specificato.

Si applica a

Vedi anche