ID do artigo: 892442 - Última revisão: sexta-feira, 12 de março de 2010 - Revisão: 2.0
Os usuários devem enviar um caminho totalmente qualificado ao usar o "input type = arquivo" elemento em um aplicativo da Web no Windows XP Service Pack 2
Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
No Microsoft Windows XP Service Pack 2 (SP2), você pode usar um input type = arquivo elemento em um aplicativo. Se você deixar o usuário digite um caminho na parte caixa de texto do elemento e não fornecem um caminho totalmente qualificado que inclua a unidade e pasta raiz, uma das seguintes condições ocorre:
Se o usuário submete o formulário usando um input type = enviar elemento, nada ocorre.
Se o usuário tentar enviar o formulário que contém o controle clicando em um link e vinculadas invoca código JavaScript que chama o método Submit, o usuário receberá um "acesso negado" mensagem de erro de script. Por exemplo, postbacks para controles do Microsoft ASP.NET no servidor talvez use o método Enviar.
Para contornar esse comportamento, execute as seguintes etapas:
Se você puder acessar o código que chama o método Submit, manipular o erro de script e, em seguida, solicitar ao usuário que insira um caminho totalmente qualificado.
Impedir que o usuário editar o conteúdo da caixa de texto. Isso efetivamente força o usuário clicar em Procurar para escolher o caminho do arquivo. Por exemplo, usar o exemplo de código a seguir para impedir que o usuário editar o conteúdo da caixa de texto no Microsoft Internet Explorer.
Cole o exemplo de código a seguir em um arquivo chamado Simple.html e, em seguida, salve o arquivo em seu servidor Web.
<html>
<head>
<script language="javascript">
function go()
{
theform = document.Form1;
theform.submit();
}
</script>
</head>
<body>
<form name="Form1" action="SimpleResults.aspx" method="post">
<h2>This example demonstrates the change to the "input type=file" element in Windows XP SP2:
</h2>
<p>
Note: You cannot put information in an "input type=file" element by using script code. For more information, see the following article in the Microsoft Knowledge Base: <a href="http://support.microsoft.com/kb/266087">266087</a><br />
<input id="txtFileUpload" style="WIDTH: 346px; HEIGHT: 20px" type="file" size="30" name="txtFileUpload" />
</p>
<p>
1. Now, if you enter a path that is missing the drive letter and root folder in
the text box part of the control, and then you click submit, the Submit method call will not
be permitted. Therefore, nothing will occur.<br />
<input type="submit" value="Try to use a Submit button" />
</p>
<p>
2. Also, if you enter a path that is missing the drive letter and root folder in the
text box part of the control, and then you click a link that uses scripting to submit
the form, you receive an "Access is Denied" scripting error message.<br />
<a onclick="javascript:go()" href="#">This link causes the "Access is Denied" error message.</a>
</p>
</form>
</body>
</html>
Cole o exemplo de código a seguir em um arquivo chamado SimpleResults.aspx.
<%@ Page Language="C#" %>
<script runat="server">
void Page_Load()
{
txtResults.Text = Request.Form["txtFileUpload"];
}
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p>
Here are the results of submitting the contents of the "input type=file" element.
</p>
<p>
<asp:TextBox id="txtResults" runat="server" Width="469px"></asp:TextBox>
</p>
</form>
</body>
</html>
Em um navegador da Web, abra Simple.html.
Na caixa de texto que está sendo o input type = arquivo elemento, digite o texto não inclui C:\ ou um caminho semelhante.
Clique em Enviar. Observe que nada ocorre.
Clique em Este link faz com que o "acesso negado" mensagem de erro.. Você recebe uma mensagem de erro de script "Acesso negado".
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 892442
(http://support.microsoft.com/kb/892442/en-us/
)
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
Diga-nos o porque e o que podemos fazer para melhorar esta informação
Obrigado! Seus comentários são usados para nos ajudar a aperfeiçoar o conteúdo de suporte. Para obter mais opções de ajuda, visite a Home Page de Ajuda e Suporte.