HttpFileCollection Класс

Определение

Предоставляет доступ к файлам, отправленным клиентом, и упорядочивает их.

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
Наследование
HttpFileCollection

Примеры

В следующем примере показано, как получить доступ HttpFileCollection к коллекции, возвращаемой Files из свойства HttpRequest объекта. Коллекция HttpFileCollection заполняется двумя FileUpload элементами управления на веб-странице. Элементы в коллекции файлов отображаются в элементе BulletedList управления.

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

Комментарии

Клиенты кодируют файлы и передают их в текст содержимого с помощью многокомпонентного формата MIME с заголовком multipart/form-dataHTTPContent-Type. ASP.NET извлекает закодированные файлы из текста содержимого в отдельные члены объекта HttpFileCollection. Методы и свойства HttpPostedFile класса предоставляют доступ к содержимому и свойствам каждого файла.

Свойства

AllKeys

Возвращает массив строк, содержащий ключи (имена) всех элементов коллекции файлов.

Count

Возвращает число пар "ключ-значение", содержащихся в экземпляре класса NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
IsReadOnly

Возвращает или задает значение, указывающее, является ли экземпляр класса NameObjectCollectionBase доступным только для чтения.

(Унаследовано от NameObjectCollectionBase)
Item[Int32]

Получает объект с указанным числовым индексом из коллекции HttpFileCollection.

Item[String]

Получает объект с указанным именем из коллекции файлов.

Keys

Возвращает экземпляр NameObjectCollectionBase.KeysCollection, содержащий все ключи в экземпляре NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)

Методы

BaseAdd(String, Object)

Добавляет запись с указанным ключом и значением в экземпляр класса NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
BaseClear()

Удаляет все записи из экземпляра класса NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
BaseGet(Int32)

Возвращает значение записи по указанному индексу экземпляра класса NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
BaseGet(String)

Возвращает значение первой записи с указанным ключом из экземпляра класса NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
BaseGetAllKeys()

Возвращает массив String, который содержит все ключи экземпляра класса NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
BaseGetAllValues()

Возвращает массив Object, который содержит все значения экземпляра класса NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
BaseGetAllValues(Type)

Возвращает массив указанного типа, который содержит все значения экземпляра класса NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
BaseGetKey(Int32)

Возвращает ключ записи по указанному индексу в экземпляре класса NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
BaseHasKeys()

Возвращает значение, показывающее, содержит ли экземпляр класса NameObjectCollectionBase записи, в которых значение ключа отлично от null.

(Унаследовано от NameObjectCollectionBase)
BaseRemove(String)

Удаляет записи с указанным ключом из экземпляра класса NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
BaseRemoveAt(Int32)

Удаляет запись по указанному индексу в экземпляре класса NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
BaseSet(Int32, Object)

Задает значение записи по указанному индексу экземпляра класса NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
BaseSet(String, Object)

Задает значение первой записи с указанным ключом в экземпляре класса NameObjectCollectionBase, если ключ найден; в противном случае добавляет запись с указанным ключом и значением в экземпляр класса NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
CopyTo(Array, Int32)

Копирует элементы коллекции файлов в объект Array, начинающийся с указанного индекса массива.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Get(Int32)

Возвращает объект HttpPostedFile с указанным числовым индексом из коллекции.

Get(String)

Возвращает объект HttpPostedFile с указанным именем из коллекции файлов.

GetEnumerator()

Возвращает перечислитель, осуществляющий перебор элементов списка NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetKey(Int32)

Возвращает имя элемента HttpFileCollection с заданным числовым индексом.

GetMultiple(String)

Возвращает файлы, соответствующие указанному имени.

GetObjectData(SerializationInfo, StreamingContext)

Реализует интерфейс ISerializable и возвращает данные, необходимые для сериализации экземпляра класса NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnDeserialization(Object)

Реализует интерфейс ISerializable и вызывает событие десериализации при завершении десериализации.

(Унаследовано от NameObjectCollectionBase)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

ICollection.CopyTo(Array, Int32)

Копирует целый массив NameObjectCollectionBase в совместимый одномерный массив Array, начиная с заданного индекса целевого массива.

(Унаследовано от NameObjectCollectionBase)
ICollection.IsSynchronized

Возвращает значение, указывающее на то, является ли доступ к объекту NameObjectCollectionBase синхронизированным (потокобезопасным).

(Унаследовано от NameObjectCollectionBase)
ICollection.SyncRoot

Возвращает объект, который позволяет синхронизировать доступ к объекту NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)

Методы расширения

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.

Применяется к

См. также раздел