WebClient.UploadFile Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 pro příjem souboru. Například ftp://localhost/samplefile.txt.
- fileName
- String
Soubor, který se má odeslat do prostředku. Například "samplefile.txt".
Návraty
Pole Byte obsahující tělo odpovědi z prostředku.
Výjimky
Identifikátor URI vytvořený kombinací BaseAddressa address
je neplatný.
-nebo-
fileName
je null
, je 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, nebyla žádná odpověď.
-nebo-
Záhlaví Content-type
začíná multipart
.
Příklady
Následující příklad kódu nahraje zadaný soubor do zadaného identifikátoru URI pomocí UploadFile. V konzole se zobrazí jakákoli odpověď vrácená serverem.
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 UploadFile metoda. Stránka se musí nacházet na webovém serveru. Jeho adresa poskytuje hodnotu parametru address
metody 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>
Poznámky
Opatrnost
WebRequest
, HttpWebRequest
, ServicePoint
a WebClient
jsou zastaralé a neměli byste je používat pro nový vývoj. Místo toho použijte HttpClient.
Metoda UploadFile odešle do prostředku místní soubor. Tato metoda používá příkaz STOR k nahrání prostředku FTP. Pro prostředek HTTP se použije 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 metod UploadFileAsync.
Metoda POST
je definována protokolem HTTP. Pokud podkladový požadavek nepoužívá protokol HTTP a POST
server nerozumí, základní třídy protokolu určují, co se stane. Obvykle se WebException vyvolá s vlastností Status nastavenou tak, aby označí chybu.
Pokud BaseAddress vlastnost není prázdný řetězec ("") a address
neobsahuje absolutní identifikátor URI, address
musí být relativní identifikátor URI, který se zkombinuje s BaseAddress k vytvoření absolutního identifikátoru URI požadovaných dat. Pokud QueryString vlastnost není prázdný řetězec, připojí se k address
.
Poznámka
Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete 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 pro příjem souboru. Například ftp://localhost/samplefile.txt.
- fileName
- String
Soubor, který se má odeslat do prostředku. Například "samplefile.txt".
Návraty
Pole Byte obsahující tělo odpovědi z prostředku.
Výjimky
Identifikátor URI vytvořený kombinací BaseAddressa address
je neplatný.
-nebo-
fileName
je null
, je 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, nebyla žádná odpověď.
-nebo-
Záhlaví Content-type
začíná multipart
.
Poznámky
Opatrnost
WebRequest
, HttpWebRequest
, ServicePoint
a WebClient
jsou zastaralé a neměli byste je používat pro nový vývoj. Místo toho použijte HttpClient.
Metoda UploadFile odešle do prostředku místní soubor. Tato metoda používá příkaz STOR k nahrání prostředku FTP. Pro prostředek HTTP se použije 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 metod UploadFileAsync.
Metoda POST
je definována protokolem HTTP. Pokud podkladový požadavek nepoužívá protokol HTTP a POST
server nerozumí, základní třídy protokolu určují, co se stane. Obvykle se WebException vyvolá s vlastností Status nastavenou tak, aby označí chybu.
Pokud BaseAddress vlastnost není prázdný řetězec ("") a address
neobsahuje absolutní identifikátor URI, address
musí být relativní identifikátor URI, který se zkombinuje s BaseAddress k vytvoření absolutního identifikátoru URI požadovaných dat. Pokud QueryString vlastnost není prázdný řetězec, připojí se k address
.
Poznámka
Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete 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 pro příjem souboru.
- 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
Pole Byte obsahující tělo odpovědi z prostředku.
Výjimky
Identifikátor URI vytvořený kombinací BaseAddressa address
je neplatný.
-nebo-
fileName
je null
, je 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, nebyla žádná odpověď.
-nebo-
Záhlaví Content-type
začíná multipart
.
Příklady
Následující příklad kódu nahraje zadaný soubor do zadaného identifikátoru URI pomocí UploadFile. V konzole se zobrazí jakákoli odpověď vrácená serverem.
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 UploadFile metoda. Stránka se musí nacházet na webovém serveru. Jeho adresa poskytuje hodnotu parametru address
metody 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>
Poznámky
Opatrnost
WebRequest
, HttpWebRequest
, ServicePoint
a WebClient
jsou zastaralé a neměli byste je používat pro nový vývoj. Místo toho použijte HttpClient.
Když adresa určuje prostředek HTTP, metoda UploadFile odešle do prostředku místní soubor 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 metod UploadFileAsync.
Pokud parametr method
určuje příkaz, který není srozumitelný serverem nebo prostředkem address
, základní třídy protokolu určují, co se stane. Obvykle se WebException vyvolá s vlastností Status nastavenou tak, aby označí chybu.
Pokud BaseAddress vlastnost není prázdný řetězec ("") a address
neobsahuje absolutní identifikátor URI, address
musí být relativní identifikátor URI, který se zkombinuje s BaseAddress k vytvoření absolutního identifikátoru URI požadovaných dat. Pokud QueryString vlastnost není prázdný řetězec, připojí se k address
.
Poznámka
Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete 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 pro příjem souboru.
- 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
Pole Byte obsahující tělo odpovědi z prostředku.
Výjimky
Identifikátor URI vytvořený kombinací BaseAddressa address
je neplatný.
-nebo-
fileName
je null
, je 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, nebyla žádná odpověď.
-nebo-
Záhlaví Content-type
začíná multipart
.
Poznámky
Opatrnost
WebRequest
, HttpWebRequest
, ServicePoint
a WebClient
jsou zastaralé a neměli byste je používat pro nový vývoj. Místo toho použijte HttpClient.
Když adresa určuje prostředek HTTP, metoda UploadFile odešle do prostředku místní soubor 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 metod UploadFileAsync.
Pokud parametr method
určuje příkaz, který není srozumitelný serverem nebo prostředkem address
, základní třídy protokolu určují, co se stane. Obvykle se WebException vyvolá s vlastností Status nastavenou tak, aby označí chybu.
Pokud BaseAddress vlastnost není prázdný řetězec ("") a address
neobsahuje absolutní identifikátor URI, address
musí být relativní identifikátor URI, který se zkombinuje s BaseAddress k vytvoření absolutního identifikátoru URI požadovaných dat. Pokud QueryString vlastnost není prázdný řetězec, připojí se k address
.
Poznámka
Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete v tématu trasování sítě v rozhraní .NET Framework.