WebClient.UploadFile Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Carrega um ficheiro local para um recurso com o URI especificado.
Sobrecargas
| Name | Description |
|---|---|
| UploadFile(String, String) |
Carrega o ficheiro local especificado para um recurso com o URI especificado. |
| UploadFile(Uri, String) |
Carrega o ficheiro local especificado para um recurso com o URI especificado. |
| UploadFile(String, String, String) |
Carrega o ficheiro local especificado para o recurso especificado, usando o método especificado. |
| UploadFile(Uri, String, String) |
Carrega o ficheiro local especificado para o recurso especificado, usando o método especificado. |
UploadFile(String, String)
Carrega o ficheiro local especificado para um recurso com o URI especificado.
public:
cli::array <System::Byte> ^ UploadFile(System::String ^ address, System::String ^ fileName);
public byte[] UploadFile(string address, string fileName);
member this.UploadFile : string * string -> byte[]
Public Function UploadFile (address As String, fileName As String) As Byte()
Parâmetros
- address
- String
O URI do recurso a receber o ficheiro. Por exemplo, ftp://localhost/samplefile.txt.
- fileName
- String
O ficheiro para enviar ao recurso. Por exemplo, "samplefile.txt".
Devoluções
Um Byte array contendo o corpo da resposta do recurso.
Exceções
O URI formado combinando BaseAddress, e address é inválido.
-ou-
fileName é null, é Empty, contém caracteres inválidos, ou não existe.
-ou-
Ocorreu um erro durante o carregamento do ficheiro.
-ou-
Não houve resposta do servidor que hospedava o recurso.
-ou-
O Content-type cabeçalho começa por multipart.
Exemplos
O exemplo de código seguinte carrega o ficheiro especificado para o URI especificado usando UploadFile. Qualquer resposta devolvida pelo servidor é apresentada na consola.
Console::Write( "\nPlease enter the URI to post data to : " );
String^ uriString = Console::ReadLine();
// Create a new WebClient instance.
WebClient^ myWebClient = gcnew WebClient;
Console::WriteLine( "\nPlease enter the fully qualified path of the file to be uploaded to the URI" );
String^ fileName = Console::ReadLine();
Console::WriteLine( "Uploading {0} to {1} ...", fileName, uriString );
// Upload the file to the URI.
// The 'UploadFile(uriString, fileName)' method implicitly uses HTTP POST method.
array<Byte>^responseArray = myWebClient->UploadFile( uriString, fileName );
// Decode and display the response.
Console::WriteLine( "\nResponse Received::The contents of the file uploaded are: \n {0}",
System::Text::Encoding::ASCII->GetString( responseArray ) );
Console.Write("\nPlease enter the URI to post data to : ");
String uriString = Console.ReadLine();
// Create a new WebClient instance.
WebClient myWebClient = new WebClient();
Console.WriteLine("\nPlease enter the fully qualified path of the file to be uploaded to the URI");
string fileName = Console.ReadLine();
Console.WriteLine("Uploading {0} to {1} ...",fileName,uriString);
// Upload the file to the URI.
// The 'UploadFile(uriString,fileName)' method implicitly uses HTTP POST method.
byte[] responseArray = myWebClient.UploadFile(uriString,fileName);
// Decode and display the response.
Console.WriteLine("\nResponse Received. The contents of the file uploaded are:\n{0}",
System.Text.Encoding.ASCII.GetString(responseArray));
Console.Write(ControlChars.Cr + "Please enter the URI to post data to : ")
Dim uriString As String = Console.ReadLine()
' Create a new WebClient instance.
Dim myWebClient As New WebClient()
Console.WriteLine(ControlChars.Cr & _
"Please enter the fully qualified path of the file to be uploaded to the URI")
Dim fileName As String = Console.ReadLine()
Console.WriteLine("Uploading {0} to {1} ...", fileName, uriString)
' Upload the file to the URI.
' The 'UploadFile(uriString,fileName)' method implicitly uses HTTP POST method.
Dim responseArray As Byte() = myWebClient.UploadFile(uriString, fileName)
' Decode and display the response.
Console.WriteLine(ControlChars.Cr & "Response Received. The contents of the file uploaded are: " & _
ControlChars.Cr & "{0}", System.Text.Encoding.ASCII.GetString(responseArray))
O seguinte exemplo de código mostra uma página ASP.NET que pode aceitar ficheiros publicados e é adequada para uso com o método UploadFile. A página deve estar num servidor Web. O seu endereço fornece o valor do address parâmetro do UploadFile método.
<%@ Import Namespace="System"%>
<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="System.Net"%>
<%@ Import NameSpace="System.Web"%>
<Script language="C#" runat=server>
void Page_Load(object sender, EventArgs e) {
foreach(string f in Request.Files.AllKeys) {
HttpPostedFile file = Request.Files[f];
file.SaveAs("c:\\inetpub\\test\\UploadedFiles\\" + file.FileName);
}
}
</Script>
<html>
<body>
<p> Upload complete. </p>
</body>
</html>
<%@ Import Namespace="System"%>
<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="System.Net"%>
<%@ Import NameSpace="System.Web"%>
<Script language="VB" runat=server>
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim f As String
Dim file
For Each f In Request.Files.AllKeys
file = Request.Files(f)
file.SaveAs("c:\inetpub\test\UploadedFiles\" & file.FileName)
Next f
End Sub
</Script>
<html>
<body>
<p> Upload complete. </p>
</body>
</html>
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
O UploadFile método envia um ficheiro local para um recurso. Este método utiliza o comando STOR para carregar um recurso FTP. Para um recurso HTTP, é utilizado o método POST.
Este método bloqueia durante o carregamento do ficheiro. Para continuar a executar enquanto aguarda a resposta do servidor, use um dos UploadFileAsync métodos.
O POST método é definido por HTTP. Se o pedido subjacente não usar HTTP e POST não for compreendido pelo servidor, as classes de protocolo subjacentes determinam o que ocorre. Normalmente, a WebException é lançado com a Status propriedade definida para indicar o erro.
Se a BaseAddress propriedade não for uma cadeia vazia ("") e address não contiver um URI absoluto, address deve ser um URI relativo combinado com BaseAddress para formar o URI absoluto dos dados solicitados. Se a QueryString propriedade não for uma cadeia vazia, é anexada a address.
Note
Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.
Aplica-se a
UploadFile(Uri, String)
Carrega o ficheiro local especificado para um recurso com o URI especificado.
public:
cli::array <System::Byte> ^ UploadFile(Uri ^ address, System::String ^ fileName);
public byte[] UploadFile(Uri address, string fileName);
member this.UploadFile : Uri * string -> byte[]
Public Function UploadFile (address As Uri, fileName As String) As Byte()
Parâmetros
- address
- Uri
O URI do recurso a receber o ficheiro. Por exemplo, ftp://localhost/samplefile.txt.
- fileName
- String
O ficheiro para enviar ao recurso. Por exemplo, "samplefile.txt".
Devoluções
Um Byte array contendo o corpo da resposta do recurso.
Exceções
O URI formado combinando BaseAddress, e address é inválido.
-ou-
fileName é null, é Empty, contém caracteres inválidos, ou não existe.
-ou-
Ocorreu um erro durante o carregamento do ficheiro.
-ou-
Não houve resposta do servidor que hospedava o recurso.
-ou-
O Content-type cabeçalho começa por multipart.
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
O UploadFile método envia um ficheiro local para um recurso. Este método utiliza o comando STOR para carregar um recurso FTP. Para um recurso HTTP, é utilizado o método POST.
Este método bloqueia durante o carregamento do ficheiro. Para continuar a executar enquanto aguarda a resposta do servidor, use um dos UploadFileAsync métodos.
O POST método é definido por HTTP. Se o pedido subjacente não usar HTTP e POST não for compreendido pelo servidor, as classes de protocolo subjacentes determinam o que ocorre. Normalmente, a WebException é lançado com a Status propriedade definida para indicar o erro.
Se a BaseAddress propriedade não for uma cadeia vazia ("") e address não contiver um URI absoluto, address deve ser um URI relativo combinado com BaseAddress para formar o URI absoluto dos dados solicitados. Se a QueryString propriedade não for uma cadeia vazia, é anexada a address.
Note
Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.
Aplica-se a
UploadFile(String, String, String)
Carrega o ficheiro local especificado para o recurso especificado, usando o método especificado.
public:
cli::array <System::Byte> ^ UploadFile(System::String ^ address, System::String ^ method, System::String ^ fileName);
public byte[] UploadFile(string address, string method, string fileName);
member this.UploadFile : string * string * string -> byte[]
Public Function UploadFile (address As String, method As String, fileName As String) As Byte()
Parâmetros
- address
- String
O URI do recurso a receber o ficheiro.
- method
- String
O método usado para enviar o ficheiro para o recurso. Se null, o padrão é POST para http e STOR para ftp.
- fileName
- String
O ficheiro para enviar ao recurso.
Devoluções
Um Byte array contendo o corpo da resposta do recurso.
Exceções
O URI formado combinando BaseAddress, e address é inválido.
-ou-
fileName é null, é Empty, contém caracteres inválidos, ou não existe.
-ou-
Ocorreu um erro durante o carregamento do ficheiro.
-ou-
Não houve resposta do servidor que hospedava o recurso.
-ou-
O Content-type cabeçalho começa por multipart.
Exemplos
O exemplo de código seguinte carrega o ficheiro especificado para o URI especificado usando UploadFile. Qualquer resposta devolvida pelo servidor é apresentada na consola.
Console::Write( "\nPlease enter the URL to post data to : " );
String^ uriString = Console::ReadLine();
// Create a new WebClient instance.
WebClient^ myWebClient = gcnew WebClient;
Console::WriteLine
("\nPlease enter the fully qualified path of the file to be uploaded to the URL" );
String^ fileName = Console::ReadLine();
Console::WriteLine( "Uploading {0} to {1} ...", fileName, uriString );
// Upload the file to the URL using the HTTP 1.0 POST.
array<Byte>^responseArray = myWebClient->UploadFile( uriString, "POST", fileName );
// Decode and display the response.
Console::WriteLine( "\nResponse Received::The contents of the file uploaded are: \n {0}",
System::Text::Encoding::ASCII->GetString( responseArray ));
Console.Write("\nPlease enter the URL to post data to : ");
String uriString = Console.ReadLine();
// Create a new WebClient instance.
WebClient myWebClient = new WebClient();
Console.WriteLine("\nPlease enter the fully qualified path of the file to be uploaded to the URL");
string fileName = Console.ReadLine();
Console.WriteLine("Uploading {0} to {1} ...",fileName,uriString);
// Upload the file to the URL using the HTTP 1.0 POST.
byte[] responseArray = myWebClient.UploadFile(uriString,"POST",fileName);
// Decode and display the response.
Console.WriteLine("\nResponse Received. The contents of the file uploaded are:\n{0}",
System.Text.Encoding.ASCII.GetString(responseArray));
Console.Write(ControlChars.Cr + "Please enter the URL to post data to : ")
Dim uriString As String = Console.ReadLine()
' Create a new WebClient instance.
Dim myWebClient As New WebClient()
Console.WriteLine(ControlChars.Cr & _
"Please enter the fully qualified path of the file to be uploaded to the URL")
Dim fileName As String = Console.ReadLine()
Console.WriteLine("Uploading {0} to {1} ...", fileName, uriString)
' Upload the file to the Url using the HTTP 1.0 POST.
Dim responseArray As Byte() = myWebClient.UploadFile(uriString, "POST", fileName)
' Decode and display the response.
Console.WriteLine(ControlChars.Cr + "Response Received. The contents of the file uploaded are: " & _
ControlChars.Cr & "{0}", System.Text.Encoding.ASCII.GetString(responseArray))
O seguinte exemplo de código mostra uma página ASP.NET que pode aceitar ficheiros publicados e é adequada para uso com o método UploadFile. A página deve estar num servidor Web. O seu endereço fornece o valor do address parâmetro do UploadFile método.
<%@ Import Namespace="System"%>
<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="System.Net"%>
<%@ Import NameSpace="System.Web"%>
<Script language="C#" runat=server>
void Page_Load(object sender, EventArgs e) {
foreach(string f in Request.Files.AllKeys) {
HttpPostedFile file = Request.Files[f];
file.SaveAs("c:\\inetpub\\test\\UploadedFiles\\" + file.FileName);
}
}
</Script>
<html>
<body>
<p> Upload complete. </p>
</body>
</html>
<%@ Import Namespace="System"%>
<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="System.Net"%>
<%@ Import NameSpace="System.Web"%>
<Script language="VB" runat=server>
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim f As String
Dim file
For Each f In Request.Files.AllKeys
file = Request.Files(f)
file.SaveAs("c:\inetpub\test\UploadedFiles\" & file.FileName)
Next f
End Sub
</Script>
<html>
<body>
<p> Upload complete. </p>
</body>
</html>
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
Quando o endereço especifica um recurso HTTP, o UploadFile método envia um ficheiro local para um recurso usando o método HTTP especificado no method parâmetro e devolve qualquer resposta do servidor. Este método bloqueia durante o carregamento do ficheiro. Para continuar a executar enquanto aguarda a resposta do servidor, use um dos UploadFileAsync métodos.
Se o method parâmetro especificar um verbo que não é compreendido pelo servidor ou pelo address recurso, as classes de protocolo subjacentes determinam o que ocorre. Normalmente, a WebException é lançado com a Status propriedade definida para indicar o erro.
Se a BaseAddress propriedade não for uma cadeia vazia ("") e address não contiver um URI absoluto, address deve ser um URI relativo combinado com BaseAddress para formar o URI absoluto dos dados solicitados. Se a QueryString propriedade não for uma cadeia vazia, é anexada a address.
Note
Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.
Aplica-se a
UploadFile(Uri, String, String)
Carrega o ficheiro local especificado para o recurso especificado, usando o método especificado.
public:
cli::array <System::Byte> ^ UploadFile(Uri ^ address, System::String ^ method, System::String ^ fileName);
public byte[] UploadFile(Uri address, string method, string fileName);
member this.UploadFile : Uri * string * string -> byte[]
Public Function UploadFile (address As Uri, method As String, fileName As String) As Byte()
Parâmetros
- address
- Uri
O URI do recurso a receber o ficheiro.
- method
- String
O método usado para enviar o ficheiro para o recurso. Se null, o padrão é POST para http e STOR para ftp.
- fileName
- String
O ficheiro para enviar ao recurso.
Devoluções
Um Byte array contendo o corpo da resposta do recurso.
Exceções
O URI formado combinando BaseAddress, e address é inválido.
-ou-
fileName é null, é Empty, contém caracteres inválidos, ou não existe.
-ou-
Ocorreu um erro durante o carregamento do ficheiro.
-ou-
Não houve resposta do servidor que hospedava o recurso.
-ou-
O Content-type cabeçalho começa por multipart.
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
Quando o endereço especifica um recurso HTTP, o UploadFile método envia um ficheiro local para um recurso usando o método HTTP especificado no method parâmetro e devolve qualquer resposta do servidor. Este método bloqueia durante o carregamento do ficheiro. Para continuar a executar enquanto aguarda a resposta do servidor, use um dos UploadFileAsync métodos.
Se o method parâmetro especificar um verbo que não é compreendido pelo servidor ou pelo address recurso, as classes de protocolo subjacentes determinam o que ocorre. Normalmente, a WebException é lançado com a Status propriedade definida para indicar o erro.
Se a BaseAddress propriedade não for uma cadeia vazia ("") e address não contiver um URI absoluto, address deve ser um URI relativo combinado com BaseAddress para formar o URI absoluto dos dados solicitados. Se a QueryString propriedade não for uma cadeia vazia, é anexada a address.
Note
Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.