HtmlInputFile Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Permite o acesso programático ao elemento <input type= file>
HTML no servidor.
public ref class HtmlInputFile : System::Web::UI::HtmlControls::HtmlInputControl, System::Web::UI::IPostBackDataHandler
[System.Web.UI.ValidationProperty("Value")]
public class HtmlInputFile : System.Web.UI.HtmlControls.HtmlInputControl, System.Web.UI.IPostBackDataHandler
[<System.Web.UI.ValidationProperty("Value")>]
type HtmlInputFile = class
inherit HtmlInputControl
interface IPostBackDataHandler
Public Class HtmlInputFile
Inherits HtmlInputControl
Implements IPostBackDataHandler
- Herança
- Atributos
- Implementações
Exemplos
O exemplo de código a seguir demonstra como usar o HtmlInputFile controle para criar um cenário de upload de arquivo simples. Para que este exemplo funcione corretamente, você precisa criar um diretório chamado Temp
na unidade C do computador.
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Button1_Click(object Source, EventArgs e)
{
if (Text1.Value == "")
{
Span1.InnerHtml = "Error: You must enter a file name.";
return;
}
if (File1.PostedFile.ContentLength > 0)
{
try
{
File1.PostedFile.SaveAs("c:\\temp\\" + Text1.Value);
Span1.InnerHtml = "File uploaded successfully to <b>c:\\temp\\" +
Text1.Value + "</b> on the Web server.";
}
catch (Exception exc)
{
Span1.InnerHtml = "Error saving file <b>c:\\temp\\" +
Text1.Value + "</b><br />" + exc.ToString() + ".";
}
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlInputFile Example</title>
</head>
<body>
<h3>HtmlInputFile Example</h3>
<form id="form1" enctype="multipart/form-data"
runat="server">
Select File to Upload:
<input id="File1"
type="file"
runat="server" />
<p>
Save as file name (no path):
<input id="Text1"
type="text"
runat="server" />
</p>
<p>
<span id="Span1"
style="font: 8pt verdana;"
runat="server" />
</p>
<p>
<input type="button"
id="Button1"
value="Upload"
onserverclick="Button1_Click"
runat="server" />
</p>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Button1_Click(ByVal Source As Object, ByVal e As EventArgs)
If Text1.Value = "" Then
Span1.InnerHtml = "Error: You must enter a file name."
Return
End If
If File1.PostedFile.ContentLength > 0 Then
Try
File1.PostedFile.SaveAs(("c:\temp\" & Text1.Value))
Span1.InnerHtml = "File uploaded successfully to <b>c:\temp\" & _
Text1.Value & "</b> on the Web server."
Catch exc As Exception
Span1.InnerHtml = "Error saving file <b>c:\temp\" & _
Text1.Value & "</b><br />" & exc.ToString() & "."
End Try
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>HtmlInputFile Example</title>
</head>
<body>
<h3>HtmlInputFile Example</h3>
<form id="form1" enctype="multipart/form-data"
runat="server">
Select File to Upload:
<input id="File1"
type="file"
runat="server" />
<p>
Save as file name (no path):
<input id="Text1"
type="text"
runat="server" />
</p>
<p>
<span id="Span1"
style="font: 8pt verdana;"
runat="server" />
</p>
<p>
<input type="button"
id="Button1"
value="Upload"
onserverclick="Button1_Click"
runat="server" />
</p>
</form>
</body>
</html>
Comentários
Use o controle de servidor para lidar com o HtmlInputFile carregamento de arquivos binários ou de texto de um cliente do navegador para o servidor. O upload de arquivos funciona com o Microsoft Internet Explorer versão 3.02 ou posterior.
Observação
O HtmlInputFile controle foi projetado para ser usado apenas em cenários de postback e não em cenários de postback assíncrono durante a renderização de página parcial. Quando você usa um HtmlInputFile controle dentro de um UpdatePanel controle, o arquivo deve ser carregado usando um controle que é um PostBackTrigger objeto para o painel. UpdatePanel os controles são usados para atualizar regiões selecionadas de uma página em vez de atualizar a página inteira com um postback. Para obter mais informações, consulte Visão geral do controle UpdatePanel e Visão geral da renderização de página parcial.
Para especificar o arquivo a ser carregado, insira o caminho completo para o arquivo (por exemplo, "C:\MyFiles\Test.txt") na caixa de texto do controle. Você também pode selecionar o arquivo clicando no botão Procurar e localizando-o na caixa de diálogo Escolher arquivo .
Observação
A Enctype propriedade de um HtmlForm controle deve ser definida como "multipart/form-data" para que esse controle funcione corretamente.
O HtmlInputFile controle não tem uma maneira interna de postar de volta no servidor. Para carregar o arquivo no servidor, use o SaveAs método do System.Web.HttpPostedFile objeto contido na PostedFile propriedade . Essa operação geralmente é feita em um método de manipulação de eventos, como para um clique de botão.
Observação
Ao usar o SaveAs método da HttpPostedFile classe , especifique um caminho com raiz (por exemplo, "C:\MyFiles\Test.txt"). O comportamento do SaveAs método pode ser especificado na seção de configuração elemento httpRuntime (esquema de configurações de ASP.NET) com o requireRootedSaveAsPath
atributo . O valor padrão desse atributo é true
. Se você definir esse atributo como false
, o uso do SaveAs método sem caminho especificado tentará colocar o arquivo no systemroot
diretório \system32\inetsrv. Por padrão, esse diretório é protegido por gravação; portanto, o arquivo não pode ser salvo lá. Certifique-se de fornecer permissão de gravação para a conta usada pelo ASP.NET para o diretório em que você deseja armazenar o arquivo.
Ao carregar arquivos grandes, use o maxRequestLength
atributo do elemento httpRuntime Element (ASP.NET Settings Schema) para aumentar o tamanho máximo permitido do arquivo. Um erro DNS é gerado no navegador quando o arquivo excede o tamanho especificado. Você também pode receber a seguinte mensagem de erro ao carregar arquivos grandes:
aspnet_wp.exe (PID: 1520) foi reciclado porque o consumo de memória excedeu 460 MB (60% da RAM disponível).
Se você encontrar essa mensagem de erro, aumente o valor do memoryLimit
atributo no elemento elemento processModel (ASP.NET Settings Schema) do arquivo Machine.config.
Para obter uma lista de valores de propriedade iniciais para uma instância do HtmlInputFile, consulte o HtmlInputFile construtor .
Construtores
HtmlInputFile() |
Inicializa uma nova instância da classe HtmlInputFile. |
Propriedades
Accept |
Obtém ou define uma lista separada por vírgula de codificações MIME usadas para restringir os tipos de arquivo que o usuário pode selecionar. |
Adapter |
Obtém o adaptador específico de navegador para o controle. (Herdado de Control) |
AppRelativeTemplateSourceDirectory |
Obtém ou define o diretório virtual relativo de aplicativo do objeto Page ou UserControl que contém este controle. (Herdado de Control) |
Attributes |
Obtém uma coleção de todos os pares de nome e valor dos atributos expressos em uma marca de controle do servidor na página ASP.NET. (Herdado de HtmlControl) |
BindingContainer |
Obtém o controle que contém a vinculação de dados desse controle. (Herdado de Control) |
ChildControlsCreated |
Obtém um valor que indica se os controles filho do controle de servidor foram criados. (Herdado de Control) |
ClientID |
Obtém a ID de controle de marcação HTML gerada pelo ASP.NET. (Herdado de Control) |
ClientIDMode |
Obtém ou define o algoritmo usado para gerar o valor da propriedade ClientID. (Herdado de Control) |
ClientIDSeparator |
Obtém um valor de caractere que representa o caractere separador usado na propriedade ClientID. (Herdado de Control) |
Context |
Obtém o objeto HttpContext associado ao controle de servidor para a solicitação da Web atual. (Herdado de Control) |
Controls |
Obtém um objeto ControlCollection que representa os controles filho para um controle de servidor especificado na hierarquia de interface do usuário. (Herdado de Control) |
DataItemContainer |
Obtém uma referência ao contêiner de nomenclatura se o contêiner de nomenclatura implementa o IDataItemContainer. (Herdado de Control) |
DataKeysContainer |
Obtém uma referência ao contêiner de nomenclatura se o contêiner de nomenclatura implementa o IDataKeysControl. (Herdado de Control) |
DesignMode |
Obtém um valor que indica se um controle está sendo usado em uma superfície de design. (Herdado de Control) |
Disabled |
Obtém ou define um valor que indica se o controle do servidor HTML está desabilitado. (Herdado de HtmlControl) |
EnableTheming |
Obtém ou define um valor que indica se os temas se aplicam a esse controle. (Herdado de Control) |
EnableViewState |
Obtém ou define um valor que indica se o controle de servidor persiste seu estado de exibição e o estado de exibição de quaisquer controles filho que ele contém, para o cliente solicitante. (Herdado de Control) |
Events |
Obtém uma lista de delegados de manipulador de eventos para o controle. Esta propriedade é somente para leitura. (Herdado de Control) |
HasChildViewState |
Obtém um valor que indica se os controles filho do controle de servidor atual têm alguma configuração de estado de exibição salva. (Herdado de Control) |
ID |
Obtém ou define o identificador programático atribuído ao controle de servidor. (Herdado de Control) |
IdSeparator |
Obtém o caractere usado para separar identificadores de controle. (Herdado de Control) |
IsChildControlStateCleared |
Obtém um valor que indica se os controles contidos dentro deste controle têm estado de controle. (Herdado de Control) |
IsTrackingViewState |
Obtém um valor que indica se o controle de servidor está salvando alterações no estado de exibição. (Herdado de Control) |
IsViewStateEnabled |
Obtém um valor que indica se o estado de exibição está habilitado para esse controle. (Herdado de Control) |
LoadViewStateByID |
Obtém um valor que indica se o controle participa do carregamento do estado de exibição por ID em vez do índice. (Herdado de Control) |
MaxLength |
Obtém ou define o tamanho máximo do caminho do arquivo para o arquivo a ser carregado do computador cliente. |
Name |
Obtém ou define o nome de identificador exclusivo para o controle HtmlInputControl. (Herdado de HtmlInputControl) |
NamingContainer |
Obtém uma referência ao contêiner de nomenclatura do controle do servidor, que cria um namespace exclusivo para diferenciar entre os controles de servidor com o mesmo valor da propriedade ID. (Herdado de Control) |
Page |
Obtém uma referência para a instância Page que contém o controle de servidor. (Herdado de Control) |
Parent |
Obtém uma referência ao controle pai do controle de servidor na hierarquia de controle da página. (Herdado de Control) |
PostedFile |
Obtém acesso ao arquivo carregado especificado por um cliente. |
RenderingCompatibility |
Obtém um valor que especifica a versão do ASP.NET com a qual o HTML renderizado será compatível. (Herdado de Control) |
Site |
Obtém informações sobre o contêiner que hospeda o controle atual quando renderizados em uma superfície de design. (Herdado de Control) |
Size |
Obtém ou define a largura da caixa de texto na qual inserir o caminho do arquivo. |
SkinID |
Obtém ou define a capa a ser aplicada ao controle. (Herdado de Control) |
Style |
Obtém uma coleção de todas as propriedades de CSS (folha de estilos em cascata) aplicadas a um controle de servidor HTML especificado no arquivo ASP.NET. (Herdado de HtmlControl) |
TagName |
Obtém o nome do elemento de uma marca que contém um par de atributo e valor |
TemplateControl |
Obtém ou define uma referência ao modelo que contém este controle. (Herdado de Control) |
TemplateSourceDirectory |
Obtém o diretório virtual do Page ou UserControl que contém o controle do servidor atual. (Herdado de Control) |
Type |
Obtém o tipo de um HtmlInputControl. (Herdado de HtmlInputControl) |
UniqueID |
Obtém o identificador exclusivo, qualificado segundo a hierarquia, para o controle de servidor. (Herdado de Control) |
ValidateRequestMode |
Obtém ou define um valor que indica se o controle verifica a entrada do cliente do navegador para valores potencialmente perigosos. (Herdado de Control) |
Value |
Obtém o caminho completo do arquivo no computador do cliente. |
ViewState |
Obtém um dicionário de informações de estado que permite salvar e restaurar o estado de exibição de um controle de servidor em várias solicitações para a mesma página. (Herdado de Control) |
ViewStateIgnoresCase |
Obtém um valor que indica se o estado de exibição HtmlControl diferencia maiúsculas de minúsculas. (Herdado de HtmlControl) |
ViewStateMode |
Obtém ou define o modo de estado de exibição deste controle. (Herdado de Control) |
Visible |
Obtém ou define um valor que indica se um controle de servidor é renderizado como uma interface do usuário na página. (Herdado de Control) |
Métodos
AddedControl(Control, Int32) |
Chamado após um controle filho ser adicionado à coleção Controls do objeto Control. (Herdado de Control) |
AddParsedSubObject(Object) |
Notifica o controle de servidor de que um elemento, XML ou HTML, foi analisado e adiciona o elemento ao objeto ControlCollection do controle de servidor. (Herdado de Control) |
ApplyStyleSheetSkin(Page) |
Aplica as propriedades de estilo definidas na folha de estilos da página ao controle. (Herdado de Control) |
BeginRenderTracing(TextWriter, Object) |
Inicia o rastreamento de tempo de design de dados de renderização. (Herdado de Control) |
BuildProfileTree(String, Boolean) |
Reúne informações sobre o controle de servidor e as envia para a propriedade Trace para serem exibidas quando o rastreamento está habilitado para a página. (Herdado de Control) |
ClearCachedClientID() |
Define o valor ClientID armazenado em cache como |
ClearChildControlState() |
Exclui as informações de estado de controle para os controles filho do controle de servidor. (Herdado de Control) |
ClearChildState() |
Exclui as informações de estado de exibição e de estado de controle para todos os controles filho do controle de servidor. (Herdado de Control) |
ClearChildViewState() |
Exclui as informações de estado de exibição para todos os controles filho do controle de servidor. (Herdado de Control) |
ClearEffectiveClientIDMode() |
Define a propriedade ClientIDMode da instância de controle atual e de quaisquer controles filho para Inherit. (Herdado de Control) |
CreateChildControls() |
Chamado pela estrutura de página do ASP.NET para notificar os controles do servidor que usam a implementação baseada em composição para criar os controles filho para preparar-se para um postback ou renderização. (Herdado de Control) |
CreateControlCollection() |
Cria um novo objeto ControlCollection para manter os controles filho (literal e servidor) do controle do servidor. (Herdado de HtmlControl) |
DataBind() |
Associa uma fonte de dados ao controle de servidor chamado e a todos os seus controles filho. (Herdado de Control) |
DataBind(Boolean) |
Associa uma fonte de dados ao controle de servidor invocado e todos os seus controles filho com uma opção para gerar o evento DataBinding. (Herdado de Control) |
DataBindChildren() |
Associa uma fonte de dados aos controles filho do controle do servidor. (Herdado de Control) |
Dispose() |
Permite que um controle de servidor execute a limpeza final antes do lançamento da memória. (Herdado de Control) |
EndRenderTracing(TextWriter, Object) |
Encerra o rastreamento de tempo de design de dados de renderização. (Herdado de Control) |
EnsureChildControls() |
Determinará se o controle de servidor contiver controles filho. Se ele não contiver, ele criará controles filho. (Herdado de Control) |
EnsureID() |
Cria um identificador para controles que não têm um identificador atribuído. (Herdado de Control) |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
FindControl(String) |
Procura o atual contêiner de nomenclatura de um controle de servidor com o parâmetro |
FindControl(String, Int32) |
Procura o contêiner de nomenclatura atual para um controle de servidor com o |
Focus() |
Define o foco de entrada para um controle. (Herdado de Control) |
GetAttribute(String) |
Obtém o valor do atributo nomeado no controle HtmlControl. (Herdado de HtmlControl) |
GetDesignModeState() |
Obtém os dados de tempo de design para um controle. (Herdado de Control) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetRouteUrl(Object) |
Obtém a URL que corresponde a um conjunto de parâmetros de rota. (Herdado de Control) |
GetRouteUrl(RouteValueDictionary) |
Obtém a URL que corresponde a um conjunto de parâmetros de rota. (Herdado de Control) |
GetRouteUrl(String, Object) |
Obtém a URL que corresponde a um conjunto de parâmetros de rota e um nome de rota. (Herdado de Control) |
GetRouteUrl(String, RouteValueDictionary) |
Obtém a URL que corresponde a um conjunto de parâmetros de rota e um nome de rota. (Herdado de Control) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
GetUniqueIDRelativeTo(Control) |
Retorna a parte prefixada da propriedade UniqueID do controle especificado. (Herdado de Control) |
HasControls() |
Determina se o controle de servidor contém algum controle filho. (Herdado de Control) |
HasEvents() |
Retorna um valor que indica se os eventos são registrados para o controle ou qualquer controle filho. (Herdado de Control) |
IsLiteralContent() |
Determina se o controle de servidor contém apenas o conteúdo literal. (Herdado de Control) |
LoadControlState(Object) |
Restaura informações de estado de controle de uma solicitação de página anterior que foi salva pelo método SaveControlState(). (Herdado de Control) |
LoadPostData(String, NameValueCollection) |
Processa os dados de postback para o controle HtmlInputFile. |
LoadViewState(Object) |
Restaura informações de estado de exibição de uma solicitação de página anterior salva pelo método SaveViewState(). (Herdado de Control) |
MapPathSecure(String) |
Recupera o caminho físico para o qual um caminho virtual é mapeado, relativo ou virtual. (Herdado de Control) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
OnBubbleEvent(Object, EventArgs) |
Determina se o evento do controle de servidor é passado um nível acima da hierarquia de controle de servidor da interface do usuário da página. (Herdado de Control) |
OnDataBinding(EventArgs) |
Aciona o evento DataBinding. (Herdado de Control) |
OnInit(EventArgs) |
Aciona o evento Init. (Herdado de Control) |
OnLoad(EventArgs) |
Aciona o evento Load. (Herdado de Control) |
OnPreRender(EventArgs) |
Aciona o evento PreRender do controle HtmlInputFile. |
OnUnload(EventArgs) |
Aciona o evento Unload. (Herdado de Control) |
OpenFile(String) |
Obtém um Stream usado para ler um arquivo. (Herdado de Control) |
RaiseBubbleEvent(Object, EventArgs) |
Atribui quaisquer fontes de evento e suas informações para o pai do controle. (Herdado de Control) |
RaisePostDataChangedEvent() |
Notifica o controle HtmlInputFile de que o estado do controle foi alterado. |
RemovedControl(Control) |
Chamado após um controle filho ser removido da coleção Controls do objeto Control. (Herdado de Control) |
Render(HtmlTextWriter) |
Grava o conteúdo a renderizar em um cliente para o objeto HtmlTextWriter especificado. (Herdado de HtmlControl) |
RenderAttributes(HtmlTextWriter) |
Renderiza os atributos do controle HtmlInputControl no objeto HtmlTextWriter especificado. (Herdado de HtmlInputControl) |
RenderBeginTag(HtmlTextWriter) |
Renderiza a marca HTML de abertura do controle para o objeto HtmlTextWriter especificado. (Herdado de HtmlControl) |
RenderChildren(HtmlTextWriter) |
Gera o conteúdo dos filhos de um controle de servidor para um objeto HtmlTextWriter fornecido, que grava o conteúdo a ser renderizado no cliente. (Herdado de Control) |
RenderControl(HtmlTextWriter) |
Gera o conteúdo do controle de servidor para um objeto HtmlTextWriter fornecido e armazena informações de rastreamento sobre o controle caso o rastreamento esteja habilitado. (Herdado de Control) |
RenderControl(HtmlTextWriter, ControlAdapter) |
Gera o conteúdo do controle de servidor a um objeto HtmlTextWriter fornecido usando um objeto ControlAdapter fornecido. (Herdado de Control) |
ResolveAdapter() |
Obtém o adaptador de controle responsável por renderizar o controle especificado. (Herdado de Control) |
ResolveClientUrl(String) |
Obtém uma URL que pode ser usada pelo navegador. (Herdado de Control) |
ResolveUrl(String) |
Converte uma URL em uma que possa ser usada no cliente solicitante. (Herdado de Control) |
SaveControlState() |
Salva as alterações de estado do controle de servidor que ocorreram desde a hora em que ocorreu o postback da página no servidor. (Herdado de Control) |
SaveViewState() |
Salva alterações de estado de exibição do controle de servidor que ocorreram desde a hora em que ocorreu o postback da página no servidor. (Herdado de Control) |
SetAttribute(String, String) |
Define o valor do atributo nomeado no controle HtmlControl. (Herdado de HtmlControl) |
SetDesignModeState(IDictionary) |
Define os dados de tempo de design para um controle. (Herdado de Control) |
SetRenderMethodDelegate(RenderMethod) |
Atribui um delegado do manipulador de eventos para renderizar o controle de servidor e seu conteúdo em seu controle pai. (Herdado de Control) |
SetTraceData(Object, Object) |
Define os dados de rastreamento para o rastreamento de tempo de design dos dados de renderização, usando a chave e o valor de dados de rastreamento. (Herdado de Control) |
SetTraceData(Object, Object, Object) |
Define os dados de rastreamento para o rastreamento de tempo de design dos dados de renderização, usando o objeto rastreado, a chave e o valor de dados de rastreamento. (Herdado de Control) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
TrackViewState() |
Causa o acompanhamento das alterações de estado de exibição para o controle de servidor, para que elas possam ser armazenadas no objeto StateBag do controle de servidor. Esse objeto é acessível por meio da propriedade ViewState. (Herdado de Control) |
Eventos
DataBinding |
Ocorre quando o controle de servidor é associado a uma fonte de dados. (Herdado de Control) |
Disposed |
Ocorre quando um controle de servidor é liberado da memória, que é o último estágio do ciclo de vida de controle de servidor quando uma página ASP.NET é solicitada. (Herdado de Control) |
Init |
Ocorre quando o controle de servidor é inicializado, que é a primeira etapa do ciclo de vida. (Herdado de Control) |
Load |
Ocorre quando o controle de servidor é carregado no objeto Page. (Herdado de Control) |
PreRender |
Ocorre depois que o objeto Control é carregado, mas antes da renderização. (Herdado de Control) |
Unload |
Ocorre quando o controle de servidor é descarregado da memória. (Herdado de Control) |
Implantações explícitas de interface
Métodos de Extensão
FindDataSourceControl(Control) |
Retorna a fonte de dados associada ao controle de dados do controle especificado. |
FindFieldTemplate(Control, String) |
Retorna o modelo do campo para a coluna especificada no contêiner de nomenclatura do controle especificado. |
FindMetaTable(Control) |
Retorna o objeto metatable para o controle que contém dados. |