WebClient.UploadFile Methode

Definition

Lädt eine lokale Datei in eine Ressource mit dem angegebenen URI hoch.

Überlädt

UploadFile(String, String)

Lädt die angegebene lokale Datei in eine Ressource mit dem angegebenen URI hoch.

UploadFile(Uri, String)

Lädt die angegebene lokale Datei in eine Ressource mit dem angegebenen URI hoch.

UploadFile(String, String, String)

Lädt die angegebene lokale Datei mithilfe der angegebenen Methode in die angegebene Ressource hoch.

UploadFile(Uri, String, String)

Lädt die angegebene lokale Datei mithilfe der angegebenen Methode in die angegebene Ressource hoch.

UploadFile(String, String)

Quelle:
WebClient.cs
Quelle:
WebClient.cs
Quelle:
WebClient.cs

Lädt die angegebene lokale Datei in eine Ressource mit dem angegebenen URI hoch.

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

Parameter

address
String

Der URI der Ressource, die die Datei empfangen soll. Zum Beispiel "ftp://localhost/samplefile.txt".

fileName
String

Die an die Ressource zu sendende Datei. Beispiel: "samplefile.txt".

Gibt zurück

Byte[]

Ein Byte-Array mit dem Textkörper der Ressourcenantwort.

Ausnahmen

Der address-Parameter ist null.

- oder -

Der fileName-Parameter ist null.

Der durch Kombinieren von BaseAddress und address gebildete URI ist ungültig.

- oder -

fileName ist null, Empty, enthält ungültige Zeichen oder existiert nicht.

- oder -

Fehler beim Hochladen der Datei.

- oder -

Der Server, der Host dieser Ressource ist, hat nicht geantwortet.

- oder -

Der Content-type-Header beginnt mit multipart.

Beispiele

Im folgenden Codebeispiel wird die angegebene Datei mithilfe UploadFilevon in den angegebenen URI hochgeladen. Alle vom Server zurückgegebenen Antworten werden in der Konsole angezeigt.

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

Das folgende Codebeispiel zeigt eine ASP.NET Seite, die bereitgestellte Dateien akzeptieren kann und für die Verwendung mit der UploadFile -Methode geeignet ist. Die Seite muss sich auf einem Webserver befinden. Seine Adresse stellt den Wert für den address Parameter der -Methode bereit 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>

Hinweise

Die UploadFile -Methode sendet eine lokale Datei an eine Ressource. Diese Methode verwendet den STOR-Befehl, um eine FTP-Ressource hochzuladen. Für eine HTTP-Ressource wird die POST-Methode verwendet.

Diese Methode blockiert beim Hochladen der Datei. Wenn Sie eine Ressource herunterladen und beim Warten auf die Serverantwort die Ausführung fortsetzen möchten, können Sie eine der UploadFileAsync-Methoden verwenden.

Die POST von HTTP-Methode definiert ist. Wenn die zugrunde liegende Anforderung kein HTTP verwendet und POST vom Server nicht verstanden wird, bestimmen die zugrunde liegenden Protokollklassen, was geschieht. In der Regel wird ein WebException ausgelöst, wobei die Status Eigenschaft festgelegt ist, um den Fehler anzugeben.

Wenn die BaseAddress Eigenschaft keine leere Zeichenfolge ("") ist und address keinen absoluten URI enthält, muss es sich um einen relativen URI handeln, address der mit BaseAddress kombiniert wird, um den absoluten URI der angeforderten Daten zu bilden. Wenn die QueryString Eigenschaft keine leere Zeichenfolge ist, wird sie an addressangefügt.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.

Gilt für:

UploadFile(Uri, String)

Quelle:
WebClient.cs
Quelle:
WebClient.cs
Quelle:
WebClient.cs

Lädt die angegebene lokale Datei in eine Ressource mit dem angegebenen URI hoch.

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

Parameter

address
Uri

Der URI der Ressource, die die Datei empfangen soll. Zum Beispiel "ftp://localhost/samplefile.txt".

fileName
String

Die an die Ressource zu sendende Datei. Beispiel: "samplefile.txt".

Gibt zurück

Byte[]

Ein Byte-Array mit dem Textkörper der Ressourcenantwort.

Ausnahmen

Der address-Parameter ist null.

- oder -

Der fileName-Parameter ist null.

Der durch Kombinieren von BaseAddress und address gebildete URI ist ungültig.

- oder -

fileName ist null, Empty, enthält ungültige Zeichen oder existiert nicht.

- oder -

Fehler beim Hochladen der Datei.

- oder -

Der Server, der Host dieser Ressource ist, hat nicht geantwortet.

- oder -

Der Content-type-Header beginnt mit multipart.

Hinweise

Die UploadFile -Methode sendet eine lokale Datei an eine Ressource. Diese Methode verwendet den STOR-Befehl, um eine FTP-Ressource hochzuladen. Für eine HTTP-Ressource wird die POST-Methode verwendet.

Diese Methode blockiert beim Hochladen der Datei. Wenn Sie eine Ressource herunterladen und beim Warten auf die Serverantwort die Ausführung fortsetzen möchten, können Sie eine der UploadFileAsync-Methoden verwenden.

Die POST von HTTP-Methode definiert ist. Wenn die zugrunde liegende Anforderung kein HTTP verwendet und POST vom Server nicht verstanden wird, bestimmen die zugrunde liegenden Protokollklassen, was geschieht. In der Regel wird ein WebException ausgelöst, wobei die Status Eigenschaft festgelegt ist, um den Fehler anzugeben.

Wenn die BaseAddress Eigenschaft keine leere Zeichenfolge ("") ist und address keinen absoluten URI enthält, muss es sich um einen relativen URI handeln, address der mit BaseAddress kombiniert wird, um den absoluten URI der angeforderten Daten zu bilden. Wenn die QueryString Eigenschaft keine leere Zeichenfolge ist, wird sie an addressangefügt.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.

Gilt für:

UploadFile(String, String, String)

Quelle:
WebClient.cs
Quelle:
WebClient.cs
Quelle:
WebClient.cs

Lädt die angegebene lokale Datei mithilfe der angegebenen Methode in die angegebene Ressource hoch.

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

Parameter

address
String

Der URI der Ressource, die die Datei empfangen soll.

method
String

Die Methode zum Senden der Datei an die Ressource. Wenn null lautet der Standard für http POST und für ftp STOR.

fileName
String

Die an die Ressource zu sendende Datei.

Gibt zurück

Byte[]

Ein Byte-Array mit dem Textkörper der Ressourcenantwort.

Ausnahmen

Der address-Parameter ist null.

- oder -

Der fileName-Parameter ist null.

Der durch Kombinieren von BaseAddress und address gebildete URI ist ungültig.

- oder -

fileName ist null, Empty, enthält ungültige Zeichen oder existiert nicht.

- oder -

Fehler beim Hochladen der Datei.

- oder -

Der Server, der Host dieser Ressource ist, hat nicht geantwortet.

- oder -

Der Content-type-Header beginnt mit multipart.

Beispiele

Im folgenden Codebeispiel wird die angegebene Datei mithilfe UploadFilevon in den angegebenen URI hochgeladen. Alle vom Server zurückgegebenen Antworten werden in der Konsole angezeigt.

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

Das folgende Codebeispiel zeigt eine ASP.NET Seite, die bereitgestellte Dateien akzeptieren kann und für die Verwendung mit der UploadFile -Methode geeignet ist. Die Seite muss sich auf einem Webserver befinden. Seine Adresse stellt den Wert für den address Parameter der -Methode bereit 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>

Hinweise

Wenn address eine HTTP-Ressource angibt, sendet die UploadFile Methode mithilfe der im method Parameter angegebenen HTTP-Methode eine lokale Datei an eine Ressource und gibt jede Antwort vom Server zurück. Diese Methode blockiert beim Hochladen der Datei. Wenn Sie eine Ressource herunterladen und beim Warten auf die Serverantwort die Ausführung fortsetzen möchten, können Sie eine der UploadFileAsync-Methoden verwenden.

Wenn der method Parameter ein Verb angibt, das vom Server oder der address Ressource nicht verstanden wird, bestimmen die zugrunde liegenden Protokollklassen, was geschieht. In der Regel wird eine WebException ausgelöst, wobei die Status -Eigenschaft festgelegt ist, um den Fehler anzugeben.

Wenn die BaseAddress Eigenschaft keine leere Zeichenfolge ("") ist und address keinen absoluten URI enthält, muss ein relativer URI sein, address der mit BaseAddress kombiniert wird, um den absoluten URI der angeforderten Daten zu bilden. Wenn die QueryString Eigenschaft keine leere Zeichenfolge ist, wird sie an addressangefügt.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.

Gilt für:

UploadFile(Uri, String, String)

Quelle:
WebClient.cs
Quelle:
WebClient.cs
Quelle:
WebClient.cs

Lädt die angegebene lokale Datei mithilfe der angegebenen Methode in die angegebene Ressource hoch.

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

Parameter

address
Uri

Der URI der Ressource, die die Datei empfangen soll.

method
String

Die Methode zum Senden der Datei an die Ressource. Wenn null lautet der Standard für http POST und für ftp STOR.

fileName
String

Die an die Ressource zu sendende Datei.

Gibt zurück

Byte[]

Ein Byte-Array mit dem Textkörper der Ressourcenantwort.

Ausnahmen

Der address-Parameter ist null.

- oder -

Der fileName-Parameter ist null.

Der durch Kombinieren von BaseAddress und address gebildete URI ist ungültig.

- oder -

fileName ist null, Empty, enthält ungültige Zeichen oder existiert nicht.

- oder -

Fehler beim Hochladen der Datei.

- oder -

Der Server, der Host dieser Ressource ist, hat nicht geantwortet.

- oder -

Der Content-type-Header beginnt mit multipart.

Hinweise

Wenn address eine HTTP-Ressource angibt, sendet die UploadFile Methode mithilfe der im method Parameter angegebenen HTTP-Methode eine lokale Datei an eine Ressource und gibt jede Antwort vom Server zurück. Diese Methode blockiert beim Hochladen der Datei. Wenn Sie eine Ressource herunterladen und beim Warten auf die Serverantwort die Ausführung fortsetzen möchten, können Sie eine der UploadFileAsync-Methoden verwenden.

Wenn der method Parameter ein Verb angibt, das vom Server oder der address Ressource nicht verstanden wird, bestimmen die zugrunde liegenden Protokollklassen, was geschieht. In der Regel wird eine WebException ausgelöst, wobei die Status -Eigenschaft festgelegt ist, um den Fehler anzugeben.

Wenn die BaseAddress Eigenschaft keine leere Zeichenfolge ("") ist und address keinen absoluten URI enthält, muss ein relativer URI sein, address der mit BaseAddress kombiniert wird, um den absoluten URI der angeforderten Daten zu bilden. Wenn die QueryString Eigenschaft keine leere Zeichenfolge ist, wird sie an addressangefügt.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.

Gilt für: