WebClient.UploadFile Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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)
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
Ein Byte-Array mit dem Textkörper der Ressourcenantwort.
Ausnahmen
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 address
angefü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)
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
Ein Byte-Array mit dem Textkörper der Ressourcenantwort.
Ausnahmen
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 address
angefü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)
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
Ein Byte-Array mit dem Textkörper der Ressourcenantwort.
Ausnahmen
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 address
angefü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)
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
Ein Byte-Array mit dem Textkörper der Ressourcenantwort.
Ausnahmen
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 address
angefügt.
Hinweis
Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.