WebClient.UploadFile Methode

Definition

Lädt eine lokale Datei mit dem angegebenen URI in eine Ressource 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 empfängt. Beispiel: ftp://localhost/samplefile.txt.

fileName
String

Die Datei, die an die Ressource gesendet werden soll. Beispiel: "samplefile.txt".

Gibt zurück

Byte[]

Ein Byte Array, das den Textkörper der Antwort aus der Ressource enthält.

Ausnahmen

Der parameter address ist null.

-oder-

Der parameter fileName ist null.

Der URI, der durch die Kombination von BaseAddressund address gebildet wird, ist ungültig.

-oder-

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

-oder-

Fehler beim Hochladen der Datei.

-oder-

Es gab keine Antwort vom Server, auf dem die Ressource gehostet wurde.

-oder-

Die kopfzeile Content-type beginnt mit multipart.

Beispiele

Im folgenden Codebeispiel wird die angegebene Datei mithilfe von UploadFilein den angegebenen URI hochgeladen. Alle vom Server zurückgegebenen Antworten werden auf 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 gepostete 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 UploadFile-Methode bereit.

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

Vorsicht

WebRequest, HttpWebRequest, ServicePointund WebClient sind veraltet, und Sie sollten sie nicht für die neue Entwicklung verwenden. Verwenden Sie stattdessen HttpClient.

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 weiterhin auf die Antwort des Servers warten möchten, verwenden Sie eine der UploadFileAsync Methoden.

Die POST-Methode wird durch HTTP definiert. Wenn die zugrunde liegende Anforderung http nicht verwendet und POST vom Server nicht verstanden wird, bestimmen die zugrunde liegenden Protokollklassen, was auftritt. 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 address ein relativer URI sein, der mit BaseAddress kombiniert wird, um den absoluten URI der angeforderten Daten zu bilden. Wenn die eigenschaft QueryString keine leere Zeichenfolge ist, wird sie an addressangefügt.

Anmerkung

Dieses Mitglied gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer 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 empfängt. Beispiel: ftp://localhost/samplefile.txt.

fileName
String

Die Datei, die an die Ressource gesendet werden soll. Beispiel: "samplefile.txt".

Gibt zurück

Byte[]

Ein Byte Array, das den Textkörper der Antwort aus der Ressource enthält.

Ausnahmen

Der parameter address ist null.

-oder-

Der parameter fileName ist null.

Der URI, der durch die Kombination von BaseAddressund address gebildet wird, ist ungültig.

-oder-

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

-oder-

Fehler beim Hochladen der Datei.

-oder-

Es gab keine Antwort vom Server, auf dem die Ressource gehostet wurde.

-oder-

Die kopfzeile Content-type beginnt mit multipart.

Hinweise

Vorsicht

WebRequest, HttpWebRequest, ServicePointund WebClient sind veraltet, und Sie sollten sie nicht für die neue Entwicklung verwenden. Verwenden Sie stattdessen HttpClient.

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 weiterhin auf die Antwort des Servers warten möchten, verwenden Sie eine der UploadFileAsync Methoden.

Die POST-Methode wird durch HTTP definiert. Wenn die zugrunde liegende Anforderung http nicht verwendet und POST vom Server nicht verstanden wird, bestimmen die zugrunde liegenden Protokollklassen, was auftritt. 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 address ein relativer URI sein, der mit BaseAddress kombiniert wird, um den absoluten URI der angeforderten Daten zu bilden. Wenn die eigenschaft QueryString keine leere Zeichenfolge ist, wird sie an addressangefügt.

Anmerkung

Dieses Mitglied gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer 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 empfängt.

method
String

Die Methode, die zum Senden der Datei an die Ressource verwendet wird. Wenn null, ist der Standardwert POST für HTTP und STOR für ftp.

fileName
String

Die Datei, die an die Ressource gesendet werden soll.

Gibt zurück

Byte[]

Ein Byte Array, das den Textkörper der Antwort aus der Ressource enthält.

Ausnahmen

Der parameter address ist null.

-oder-

Der parameter fileName ist null.

Der URI, der durch die Kombination von BaseAddressund address gebildet wird, ist ungültig.

-oder-

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

-oder-

Fehler beim Hochladen der Datei.

-oder-

Es gab keine Antwort vom Server, auf dem die Ressource gehostet wurde.

-oder-

Die kopfzeile Content-type beginnt mit multipart.

Beispiele

Im folgenden Codebeispiel wird die angegebene Datei mithilfe von UploadFilein den angegebenen URI hochgeladen. Alle vom Server zurückgegebenen Antworten werden auf 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 gepostete 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 UploadFile-Methode bereit.

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

Vorsicht

WebRequest, HttpWebRequest, ServicePointund WebClient sind veraltet, und Sie sollten sie nicht für die neue Entwicklung verwenden. Verwenden Sie stattdessen HttpClient.

Wenn die Adresse eine HTTP-Ressource angibt, sendet die UploadFile-Methode eine lokale Datei mithilfe der im method Parameter angegebenen HTTP-Methode an eine Ressource und gibt eine Antwort vom Server zurück. Diese Methode blockiert beim Hochladen der Datei. Wenn Sie weiterhin auf die Antwort des Servers warten möchten, verwenden Sie eine der UploadFileAsync Methoden.

Wenn der method-Parameter ein Verb angibt, das vom Server oder der address Ressource nicht verstanden wird, bestimmen die zugrunde liegenden Protokollklassen, was auftritt. 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 address ein relativer URI sein, der mit BaseAddress kombiniert wird, um den absoluten URI der angeforderten Daten zu bilden. Wenn die eigenschaft QueryString keine leere Zeichenfolge ist, wird sie an addressangefügt.

Anmerkung

Dieses Mitglied gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer 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 empfängt.

method
String

Die Methode, die zum Senden der Datei an die Ressource verwendet wird. Wenn null, ist der Standardwert POST für HTTP und STOR für ftp.

fileName
String

Die Datei, die an die Ressource gesendet werden soll.

Gibt zurück

Byte[]

Ein Byte Array, das den Textkörper der Antwort aus der Ressource enthält.

Ausnahmen

Der parameter address ist null.

-oder-

Der parameter fileName ist null.

Der URI, der durch die Kombination von BaseAddressund address gebildet wird, ist ungültig.

-oder-

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

-oder-

Fehler beim Hochladen der Datei.

-oder-

Es gab keine Antwort vom Server, auf dem die Ressource gehostet wurde.

-oder-

Die kopfzeile Content-type beginnt mit multipart.

Hinweise

Vorsicht

WebRequest, HttpWebRequest, ServicePointund WebClient sind veraltet, und Sie sollten sie nicht für die neue Entwicklung verwenden. Verwenden Sie stattdessen HttpClient.

Wenn die Adresse eine HTTP-Ressource angibt, sendet die UploadFile-Methode eine lokale Datei mithilfe der im method Parameter angegebenen HTTP-Methode an eine Ressource und gibt eine Antwort vom Server zurück. Diese Methode blockiert beim Hochladen der Datei. Wenn Sie weiterhin auf die Antwort des Servers warten möchten, verwenden Sie eine der UploadFileAsync Methoden.

Wenn der method-Parameter ein Verb angibt, das vom Server oder der address Ressource nicht verstanden wird, bestimmen die zugrunde liegenden Protokollklassen, was auftritt. 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 address ein relativer URI sein, der mit BaseAddress kombiniert wird, um den absoluten URI der angeforderten Daten zu bilden. Wenn die eigenschaft QueryString keine leere Zeichenfolge ist, wird sie an addressangefügt.

Anmerkung

Dieses Mitglied gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.

Gilt für: