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 к коллекции, возвращаемой из 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 экземпляр записи, ключи которых не |
| 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 на основе указанного типа. |