Поделиться через


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)

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

Имя Описание
AsParallel(IEnumerable)

Включает параллелизацию запроса.

AsQueryable(IEnumerable)

Преобразует IEnumerable в IQueryable.

Cast<TResult>(IEnumerable)

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

OfType<TResult>(IEnumerable)

Фильтрует элементы IEnumerable на основе указанного типа.

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

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