Compartilhar via


WebClient.UploadFile Método

Definição

Carrega um arquivo local em um recurso com o URI especificado.

Sobrecargas

UploadFile(String, String)

Carrega o arquivo local especificado em um recurso com o URI especificado.

UploadFile(Uri, String)

Carrega o arquivo local especificado em um recurso com o URI especificado.

UploadFile(String, String, String)

Carrega o arquivo local especificado para o recurso especificado, usando o método especificado.

UploadFile(Uri, String, String)

Carrega o arquivo local especificado para o recurso especificado, usando o método especificado.

UploadFile(String, String)

Origem:
WebClient.cs
Origem:
WebClient.cs
Origem:
WebClient.cs

Carrega o arquivo local especificado em 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 ser recebido. Por exemplo, ftp://localhost/samplefile.txt.

fileName
String

O arquivo a ser enviado para o recurso. Por exemplo, "samplefile.txt".

Retornos

Byte[]

Uma matriz Byte que contém o corpo da resposta do recurso.

Exceções

O parâmetro address é null.

-ou-

O parâmetro fileName é null.

O URI formado pela combinação de BaseAddresse address é inválido.

-ou-

fileName é null, é Empty, contém caracteres inválidos ou não existe.

-ou-

Erro ao carregar o arquivo.

-ou-

Não houve resposta do servidor que hospeda o recurso.

-ou-

O cabeçalho Content-type começa com multipart.

Exemplos

O exemplo de código a seguir carrega o arquivo especificado no URI especificado usando UploadFile. Qualquer resposta retornada pelo servidor é exibida no console.

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 exemplo de código a seguir mostra uma página ASP.NET que pode aceitar arquivos postados e é adequada para uso com o método UploadFile. A página deve residir em um servidor Web. Seu endereço fornece o valor para o parâmetro address do método UploadFile.

<%@ 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>

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

O método UploadFile envia um arquivo local para um recurso. Esse método usa o comando STOR para carregar um recurso FTP. Para um recurso HTTP, o método POST é usado.

Esse método bloqueia ao carregar o arquivo. Para continuar a execução enquanto aguarda a resposta do servidor, use um dos métodos de UploadFileAsync.

O método POST é definido por HTTP. Se a solicitação subjacente não usar HTTP e POST não for compreendida pelo servidor, as classes de protocolo subjacentes determinarão o que ocorre. Normalmente, um WebException é gerado com a propriedade Status definida para indicar o erro.

Se a propriedade BaseAddress não for uma cadeia de caracteres vazia ("") e address não contiver um URI absoluto, address deverá ser um URI relativo combinado com BaseAddress para formar o URI absoluto dos dados solicitados. Se a propriedade QueryString não for uma cadeia de caracteres vazia, ela será acrescentada a address.

Nota

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de Rede no .NET Framework.

Aplica-se a

UploadFile(Uri, String)

Origem:
WebClient.cs
Origem:
WebClient.cs
Origem:
WebClient.cs

Carrega o arquivo local especificado em 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 ser recebido. Por exemplo, ftp://localhost/samplefile.txt.

fileName
String

O arquivo a ser enviado para o recurso. Por exemplo, "samplefile.txt".

Retornos

Byte[]

Uma matriz Byte que contém o corpo da resposta do recurso.

Exceções

O parâmetro address é null.

-ou-

O parâmetro fileName é null.

O URI formado pela combinação de BaseAddresse address é inválido.

-ou-

fileName é null, é Empty, contém caracteres inválidos ou não existe.

-ou-

Erro ao carregar o arquivo.

-ou-

Não houve resposta do servidor que hospeda o recurso.

-ou-

O cabeçalho Content-type começa com multipart.

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

O método UploadFile envia um arquivo local para um recurso. Esse método usa o comando STOR para carregar um recurso FTP. Para um recurso HTTP, o método POST é usado.

Esse método bloqueia ao carregar o arquivo. Para continuar a execução enquanto aguarda a resposta do servidor, use um dos métodos de UploadFileAsync.

O método POST é definido por HTTP. Se a solicitação subjacente não usar HTTP e POST não for compreendida pelo servidor, as classes de protocolo subjacentes determinarão o que ocorre. Normalmente, um WebException é gerado com a propriedade Status definida para indicar o erro.

Se a propriedade BaseAddress não for uma cadeia de caracteres vazia ("") e address não contiver um URI absoluto, address deverá ser um URI relativo combinado com BaseAddress para formar o URI absoluto dos dados solicitados. Se a propriedade QueryString não for uma cadeia de caracteres vazia, ela será acrescentada a address.

Nota

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de Rede no .NET Framework.

Aplica-se a

UploadFile(String, String, String)

Origem:
WebClient.cs
Origem:
WebClient.cs
Origem:
WebClient.cs

Carrega o arquivo 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);
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 ser recebido.

method
String

O método usado para enviar o arquivo para o recurso. Se null, o padrão será POST para http e STOR para ftp.

fileName
String

O arquivo a ser enviado para o recurso.

Retornos

Byte[]

Uma matriz Byte que contém o corpo da resposta do recurso.

Exceções

O parâmetro address é null.

-ou-

O parâmetro fileName é null.

O URI formado pela combinação de BaseAddresse address é inválido.

-ou-

fileName é null, é Empty, contém caracteres inválidos ou não existe.

-ou-

Erro ao carregar o arquivo.

-ou-

Não houve resposta do servidor que hospeda o recurso.

-ou-

O cabeçalho Content-type começa com multipart.

Exemplos

O exemplo de código a seguir carrega o arquivo especificado no URI especificado usando UploadFile. Qualquer resposta retornada pelo servidor é exibida no console.

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 exemplo de código a seguir mostra uma página ASP.NET que pode aceitar arquivos postados e é adequada para uso com o método UploadFile. A página deve residir em um servidor Web. Seu endereço fornece o valor para o parâmetro address do método UploadFile.

<%@ 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>

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

Quando o endereço especifica um recurso HTTP, o método UploadFile envia um arquivo local para um recurso usando o método HTTP especificado no parâmetro method e retorna qualquer resposta do servidor. Esse método bloqueia ao carregar o arquivo. Para continuar a execução enquanto aguarda a resposta do servidor, use um dos métodos de UploadFileAsync.

Se o parâmetro method especificar um verbo que não é compreendido pelo servidor ou pelo recurso address, as classes de protocolo subjacentes determinam o que ocorre. Normalmente, um WebException é gerado com a propriedade Status definida para indicar o erro.

Se a propriedade BaseAddress não for uma cadeia de caracteres vazia ("") e address não contiver um URI absoluto, address deverá ser um URI relativo combinado com BaseAddress para formar o URI absoluto dos dados solicitados. Se a propriedade QueryString não for uma cadeia de caracteres vazia, ela será acrescentada a address.

Nota

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de Rede no .NET Framework.

Aplica-se a

UploadFile(Uri, String, String)

Origem:
WebClient.cs
Origem:
WebClient.cs
Origem:
WebClient.cs

Carrega o arquivo 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);
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 ser recebido.

method
String

O método usado para enviar o arquivo para o recurso. Se null, o padrão será POST para http e STOR para ftp.

fileName
String

O arquivo a ser enviado para o recurso.

Retornos

Byte[]

Uma matriz Byte que contém o corpo da resposta do recurso.

Exceções

O parâmetro address é null.

-ou-

O parâmetro fileName é null.

O URI formado pela combinação de BaseAddresse address é inválido.

-ou-

fileName é null, é Empty, contém caracteres inválidos ou não existe.

-ou-

Erro ao carregar o arquivo.

-ou-

Não houve resposta do servidor que hospeda o recurso.

-ou-

O cabeçalho Content-type começa com multipart.

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

Quando o endereço especifica um recurso HTTP, o método UploadFile envia um arquivo local para um recurso usando o método HTTP especificado no parâmetro method e retorna qualquer resposta do servidor. Esse método bloqueia ao carregar o arquivo. Para continuar a execução enquanto aguarda a resposta do servidor, use um dos métodos de UploadFileAsync.

Se o parâmetro method especificar um verbo que não é compreendido pelo servidor ou pelo recurso address, as classes de protocolo subjacentes determinam o que ocorre. Normalmente, um WebException é gerado com a propriedade Status definida para indicar o erro.

Se a propriedade BaseAddress não for uma cadeia de caracteres vazia ("") e address não contiver um URI absoluto, address deverá ser um URI relativo combinado com BaseAddress para formar o URI absoluto dos dados solicitados. Se a propriedade QueryString não for uma cadeia de caracteres vazia, ela será acrescentada a address.

Nota

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de Rede no .NET Framework.

Aplica-se a