WebClient.UploadFile Metoda

Definice

Nahraje místní soubor do prostředku se zadaným identifikátorem URI.

Přetížení

UploadFile(String, String)

Nahraje zadaný místní soubor do prostředku se zadaným identifikátorem URI.

UploadFile(Uri, String)

Nahraje zadaný místní soubor do prostředku se zadaným identifikátorem URI.

UploadFile(String, String, String)

Nahraje zadaný místní soubor do zadaného prostředku pomocí zadané metody.

UploadFile(Uri, String, String)

Nahraje zadaný místní soubor do zadaného prostředku pomocí zadané metody.

UploadFile(String, String)

Zdroj:
WebClient.cs
Zdroj:
WebClient.cs
Zdroj:
WebClient.cs

Nahraje zadaný místní soubor do prostředku se zadaným identifikátorem URI.

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()

Parametry

address
String

Identifikátor URI prostředku, který má soubor přijmout. Například ftp://localhost/samplefile.txt.

fileName
String

Soubor, který se má odeslat do prostředku. Například "samplefile.txt".

Návraty

Byte[]

Pole Byte obsahující tělo odpovědi z prostředku.

Výjimky

Parametr address je null.

-nebo-

Parametr fileName je null.

Identifikátor URI vytvořený kombinací BaseAddressaddress a je neplatný.

-nebo-

fileName is null, is Empty, obsahuje neplatné znaky nebo neexistuje.

-nebo-

Při nahrávání souboru došlo k chybě.

-nebo-

Ze serveru, který je hostitelem prostředku, nepřišla žádná odpověď.

-nebo-

Záhlaví Content-type začíná na multipart.

Příklady

Následující příklad kódu nahraje zadaný soubor do zadaného identifikátoru URI pomocí UploadFile. Všechny odpovědi vrácené serverem se zobrazí v konzole nástroje .

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))

Následující příklad kódu ukazuje ASP.NET stránku, která může přijmout publikované soubory a je vhodná pro použití s metodou UploadFile . Stránka se musí nacházet na webovém serveru. Jeho adresa poskytuje hodnotu parametru addressUploadFile metody .

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

Poznámky

Metoda UploadFile odešle místní soubor do prostředku. Tato metoda používá příkaz STOR k nahrání prostředku FTP. Pro prostředek HTTP se používá metoda POST.

Tato metoda blokuje při nahrávání souboru. Pokud chcete pokračovat v provádění při čekání na odpověď serveru, použijte jednu z UploadFileAsync metod .

Metoda POST je definována protokolem HTTP. Pokud podkladový požadavek nepoužívá protokol HTTP a POST server mu nerozumí, určují, co se stane, třídy podkladových protokolů. Obvykle WebException je vyvolán s vlastností nastavenou Status k označení chyby.

BaseAddress Pokud vlastnost není prázdný řetězec ("") a address neobsahuje absolutní identifikátor URI, address musí být relativní identifikátor URI, který je kombinován sBaseAddress, aby vytvořil absolutní identifikátor URI požadovaných dat. QueryString Pokud vlastnost není prázdný řetězec, připojí se k address.

Poznámka

Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.

Platí pro

UploadFile(Uri, String)

Zdroj:
WebClient.cs
Zdroj:
WebClient.cs
Zdroj:
WebClient.cs

Nahraje zadaný místní soubor do prostředku se zadaným identifikátorem URI.

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()

Parametry

address
Uri

Identifikátor URI prostředku, který má soubor přijmout. Například ftp://localhost/samplefile.txt.

fileName
String

Soubor, který se má odeslat do prostředku. Například "samplefile.txt".

Návraty

Byte[]

Pole Byte obsahující tělo odpovědi z prostředku.

Výjimky

Parametr address je null.

-nebo-

Parametr fileName je null.

Identifikátor URI vytvořený kombinací BaseAddressaddress a je neplatný.

-nebo-

fileName is null, is Empty, obsahuje neplatné znaky nebo neexistuje.

-nebo-

Při nahrávání souboru došlo k chybě.

-nebo-

Ze serveru, který je hostitelem prostředku, nepřišla žádná odpověď.

-nebo-

Záhlaví Content-type začíná na multipart.

Poznámky

Metoda UploadFile odešle místní soubor do prostředku. Tato metoda používá příkaz STOR k nahrání prostředku FTP. Pro prostředek HTTP se používá metoda POST.

Tato metoda blokuje při nahrávání souboru. Pokud chcete pokračovat v provádění při čekání na odpověď serveru, použijte jednu z UploadFileAsync metod .

Metoda POST je definována protokolem HTTP. Pokud podkladový požadavek nepoužívá protokol HTTP a POST server mu nerozumí, určují, co se stane, třídy podkladových protokolů. Obvykle WebException je vyvolán s vlastností nastavenou Status k označení chyby.

BaseAddress Pokud vlastnost není prázdný řetězec ("") a address neobsahuje absolutní identifikátor URI, address musí být relativní identifikátor URI, který je kombinován sBaseAddress, aby vytvořil absolutní identifikátor URI požadovaných dat. QueryString Pokud vlastnost není prázdný řetězec, připojí se k address.

Poznámka

Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.

Platí pro

UploadFile(String, String, String)

Zdroj:
WebClient.cs
Zdroj:
WebClient.cs
Zdroj:
WebClient.cs

Nahraje zadaný místní soubor do zadaného prostředku pomocí zadané metody.

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()

Parametry

address
String

Identifikátor URI prostředku, který má soubor přijmout.

method
String

Metoda použitá k odeslání souboru do prostředku. Pokud null, výchozí hodnota je POST pro http a STOR pro ftp.

fileName
String

Soubor, který se má odeslat do prostředku.

Návraty

Byte[]

Pole Byte obsahující tělo odpovědi z prostředku.

Výjimky

Parametr address je null.

-nebo-

Parametr fileName je null.

Identifikátor URI vytvořený kombinací BaseAddressaddress a je neplatný.

-nebo-

fileName is null, is Empty, obsahuje neplatné znaky nebo neexistuje.

-nebo-

Při nahrávání souboru došlo k chybě.

-nebo-

Ze serveru, který je hostitelem prostředku, nepřišla žádná odpověď.

-nebo-

Záhlaví Content-type začíná na multipart.

Příklady

Následující příklad kódu nahraje zadaný soubor do zadaného identifikátoru URI pomocí UploadFile. Všechny odpovědi vrácené serverem se zobrazí v konzole nástroje .

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))

Následující příklad kódu ukazuje ASP.NET stránku, která může přijmout publikované soubory a je vhodná pro použití s metodou UploadFile . Stránka se musí nacházet na webovém serveru. Jeho adresa poskytuje hodnotu parametru addressUploadFile metody .

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

Poznámky

Když adresa určuje prostředek HTTP, UploadFile metoda odešle místní soubor do prostředku pomocí metody HTTP zadané v parametru method a vrátí všechny odpovědi ze serveru. Tato metoda blokuje při nahrávání souboru. Pokud chcete pokračovat v provádění při čekání na odpověď serveru, použijte jednu z těchto UploadFileAsync metod.

method Pokud parametr určuje sloveso, kterému server nebo address prostředek nerozumí, třídy podkladového protokolu určují, co se stane. Obvykle WebException je vyvolán s vlastností nastavenou Status pro označení chyby.

BaseAddress Pokud vlastnost není prázdný řetězec ("") a address neobsahuje absolutní identifikátor URI, address musí být relativní identifikátor URI, který je kombinován sBaseAddress, aby vytvořil absolutní identifikátor URI požadovaných dat. QueryString Pokud vlastnost není prázdný řetězec, připojí se k address.

Poznámka

Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.

Platí pro

UploadFile(Uri, String, String)

Zdroj:
WebClient.cs
Zdroj:
WebClient.cs
Zdroj:
WebClient.cs

Nahraje zadaný místní soubor do zadaného prostředku pomocí zadané metody.

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()

Parametry

address
Uri

Identifikátor URI prostředku, který má soubor přijmout.

method
String

Metoda použitá k odeslání souboru do prostředku. Pokud null, výchozí hodnota je POST pro http a STOR pro ftp.

fileName
String

Soubor, který se má odeslat do prostředku.

Návraty

Byte[]

Pole Byte obsahující tělo odpovědi z prostředku.

Výjimky

Parametr address je null.

-nebo-

Parametr fileName je null.

Identifikátor URI vytvořený kombinací BaseAddressa address je neplatný.

-nebo-

fileName is null, is Empty, obsahuje neplatné znaky nebo neexistuje.

-nebo-

Při nahrávání souboru došlo k chybě.

-nebo-

Ze serveru, který je hostitelem prostředku, nepřišla žádná odpověď.

-nebo-

Záhlaví Content-type začíná na multipart.

Poznámky

Když adresa určuje prostředek HTTP, UploadFile metoda odešle místní soubor do prostředku pomocí metody HTTP zadané v parametru method a vrátí všechny odpovědi ze serveru. Tato metoda blokuje při nahrávání souboru. Pokud chcete pokračovat v provádění při čekání na odpověď serveru, použijte jednu z těchto UploadFileAsync metod.

method Pokud parametr určuje sloveso, kterému server nebo address prostředek nerozumí, třídy podkladového protokolu určují, co se stane. Obvykle WebException je vyvolán s vlastností nastavenou Status pro označení chyby.

BaseAddress Pokud vlastnost není prázdný řetězec ("") a address neobsahuje absolutní identifikátor URI, address musí být relativní identifikátor URI, který je kombinován sBaseAddress, aby vytvořil absolutní identifikátor URI požadovaných dat. QueryString Pokud vlastnost není prázdný řetězec, připojí se k address.

Poznámka

Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.

Platí pro