WebClient.UploadFile メソッド

定義

指定した URI を持つリソースにローカル ファイルをアップロードします。

オーバーロード

UploadFile(String, String)

指定した URI を持つリソースに、指定したローカル ファイルをアップロードします。

UploadFile(Uri, String)

指定した URI を持つリソースに、指定したローカル ファイルをアップロードします。

UploadFile(String, String, String)

指定したメソッドを使用して、指定したローカル ファイルを指定したリソースにアップロードします。

UploadFile(Uri, String, String)

指定したメソッドを使用して、指定したローカル ファイルを指定したリソースにアップロードします。

UploadFile(String, String)

ソース:
WebClient.cs
ソース:
WebClient.cs
ソース:
WebClient.cs

指定した 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()

パラメーター

address
String

ファイルを受信するリソースの URI。 たとえば、ftp://localhost/samplefile.txtします。

fileName
String

リソースに送信するファイル。 たとえば、"samplefile.txt" などです。

戻り値

Byte[]

リソースからの応答の本文を含む Byte 配列。

例外

address パラメーターは nullです。

-又は-

fileName パラメーターは nullです。

BaseAddressaddress を組み合わせて形成された URI が無効です。

-又は-

fileNamenullされているか、Emptyされているか、無効な文字が含まれているか、存在しません。

-又は-

ファイルのアップロード中にエラーが発生しました。

-又は-

リソースをホストしているサーバーからの応答はありませんでした。

-又は-

Content-type ヘッダーは multipartで始まります。

次のコード例では、UploadFileを使用して、指定したファイルを指定した URI にアップロードします。 サーバーから返されるすべての応答がコンソールに表示されます。

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

次のコード例は、ポストされたファイルを受け入れることができ、UploadFile メソッドでの使用に適した ASP.NET ページを示しています。 ページは Web サーバー上に存在する必要があります。 そのアドレスは、UploadFile メソッドの address パラメーターの値を提供します。

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

注釈

注意

WebRequestHttpWebRequestServicePointWebClient は廃止されており、新しい開発には使用しないでください。 代わりに HttpClient を使用してください。

UploadFile メソッドは、ローカル ファイルをリソースに送信します。 このメソッドでは、STOR コマンドを使用して FTP リソースをアップロードします。 HTTP リソースの場合、POST メソッドが使用されます。

このメソッドは、ファイルのアップロード中にブロックします。 サーバーの応答の待機中に実行を続けるには、UploadFileAsync のいずれかのメソッドを使用します。

POST メソッドは HTTP によって定義されます。 基になる要求が HTTP を使用せず、POST がサーバーによって認識されない場合、基になるプロトコル クラスによって何が発生するかが決まります。 通常、エラーを示すために Status プロパティが設定された WebException がスローされます。

BaseAddress プロパティが空の文字列 ("") ではなく、address に絶対 URI が含まれていない場合、address は、要求されたデータの絶対 URI を形成するために BaseAddress と組み合わせた相対 URI である必要があります。 QueryString プロパティが空の文字列でない場合は、addressに追加されます。

手記

このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「.NET Frameworkでのネットワーク トレースの 」を参照してください。

適用対象

UploadFile(Uri, String)

ソース:
WebClient.cs
ソース:
WebClient.cs
ソース:
WebClient.cs

指定した 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()

パラメーター

address
Uri

ファイルを受信するリソースの URI。 たとえば、ftp://localhost/samplefile.txtします。

fileName
String

リソースに送信するファイル。 たとえば、"samplefile.txt" などです。

戻り値

Byte[]

リソースからの応答の本文を含む Byte 配列。

例外

address パラメーターは nullです。

-又は-

fileName パラメーターは nullです。

BaseAddressaddress を組み合わせて形成された URI が無効です。

-又は-

fileNamenullされているか、Emptyされているか、無効な文字が含まれているか、存在しません。

-又は-

ファイルのアップロード中にエラーが発生しました。

-又は-

リソースをホストしているサーバーからの応答はありませんでした。

-又は-

Content-type ヘッダーは multipartで始まります。

注釈

注意

WebRequestHttpWebRequestServicePointWebClient は廃止されており、新しい開発には使用しないでください。 代わりに HttpClient を使用してください。

UploadFile メソッドは、ローカル ファイルをリソースに送信します。 このメソッドでは、STOR コマンドを使用して FTP リソースをアップロードします。 HTTP リソースの場合、POST メソッドが使用されます。

このメソッドは、ファイルのアップロード中にブロックします。 サーバーの応答の待機中に実行を続けるには、UploadFileAsync のいずれかのメソッドを使用します。

POST メソッドは HTTP によって定義されます。 基になる要求が HTTP を使用せず、POST がサーバーによって認識されない場合、基になるプロトコル クラスによって何が発生するかが決まります。 通常、エラーを示すために Status プロパティが設定された WebException がスローされます。

BaseAddress プロパティが空の文字列 ("") ではなく、address に絶対 URI が含まれていない場合、address は、要求されたデータの絶対 URI を形成するために BaseAddress と組み合わせた相対 URI である必要があります。 QueryString プロパティが空の文字列でない場合は、addressに追加されます。

手記

このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「.NET Frameworkでのネットワーク トレースの 」を参照してください。

適用対象

UploadFile(String, String, String)

ソース:
WebClient.cs
ソース:
WebClient.cs
ソース:
WebClient.cs

指定したメソッドを使用して、指定したローカル ファイルを指定したリソースにアップロードします。

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

パラメーター

address
String

ファイルを受信するリソースの URI。

method
String

ファイルをリソースに送信するために使用されるメソッド。 nullの場合、既定値は HTTP の場合は POST、FTP の場合は STOR です。

fileName
String

リソースに送信するファイル。

戻り値

Byte[]

リソースからの応答の本文を含む Byte 配列。

例外

address パラメーターは nullです。

-又は-

fileName パラメーターは nullです。

BaseAddressaddress を組み合わせて形成された URI が無効です。

-又は-

fileNamenullされているか、Emptyされているか、無効な文字が含まれているか、存在しません。

-又は-

ファイルのアップロード中にエラーが発生しました。

-又は-

リソースをホストしているサーバーからの応答はありませんでした。

-又は-

Content-type ヘッダーは multipartで始まります。

次のコード例では、UploadFileを使用して、指定したファイルを指定した URI にアップロードします。 サーバーから返されるすべての応答がコンソールに表示されます。

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

次のコード例は、ポストされたファイルを受け入れることができ、UploadFile メソッドでの使用に適した ASP.NET ページを示しています。 ページは Web サーバー上に存在する必要があります。 そのアドレスは、UploadFile メソッドの address パラメーターの値を提供します。

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

注釈

注意

WebRequestHttpWebRequestServicePointWebClient は廃止されており、新しい開発には使用しないでください。 代わりに HttpClient を使用してください。

アドレスが HTTP リソースを指定すると、UploadFile メソッドは、method パラメーターで指定された HTTP メソッドを使用してローカル ファイルをリソースに送信し、サーバーからの応答を返します。 このメソッドは、ファイルのアップロード中にブロックします。 サーバーの応答の待機中に実行を続けるには、UploadFileAsync のいずれかのメソッドを使用します。

method パラメーターで、サーバーまたは address リソースで認識されない動詞が指定されている場合、基になるプロトコル クラスによって何が発生するかが決まります。 通常、エラーを示すために Status プロパティが設定された WebException がスローされます。

BaseAddress プロパティが空の文字列 ("") ではなく、address に絶対 URI が含まれていない場合、address は、要求されたデータの絶対 URI を形成するために BaseAddress と組み合わせた相対 URI である必要があります。 QueryString プロパティが空の文字列でない場合は、addressに追加されます。

手記

このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「.NET Frameworkでのネットワーク トレースの 」を参照してください。

適用対象

UploadFile(Uri, String, String)

ソース:
WebClient.cs
ソース:
WebClient.cs
ソース:
WebClient.cs

指定したメソッドを使用して、指定したローカル ファイルを指定したリソースにアップロードします。

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

パラメーター

address
Uri

ファイルを受信するリソースの URI。

method
String

ファイルをリソースに送信するために使用されるメソッド。 nullの場合、既定値は HTTP の場合は POST、FTP の場合は STOR です。

fileName
String

リソースに送信するファイル。

戻り値

Byte[]

リソースからの応答の本文を含む Byte 配列。

例外

address パラメーターは nullです。

-又は-

fileName パラメーターは nullです。

BaseAddressaddress を組み合わせて形成された URI が無効です。

-又は-

fileNamenullされているか、Emptyされているか、無効な文字が含まれているか、存在しません。

-又は-

ファイルのアップロード中にエラーが発生しました。

-又は-

リソースをホストしているサーバーからの応答はありませんでした。

-又は-

Content-type ヘッダーは multipartで始まります。

注釈

注意

WebRequestHttpWebRequestServicePointWebClient は廃止されており、新しい開発には使用しないでください。 代わりに HttpClient を使用してください。

アドレスが HTTP リソースを指定すると、UploadFile メソッドは、method パラメーターで指定された HTTP メソッドを使用してローカル ファイルをリソースに送信し、サーバーからの応答を返します。 このメソッドは、ファイルのアップロード中にブロックします。 サーバーの応答の待機中に実行を続けるには、UploadFileAsync のいずれかのメソッドを使用します。

method パラメーターで、サーバーまたは address リソースで認識されない動詞が指定されている場合、基になるプロトコル クラスによって何が発生するかが決まります。 通常、エラーを示すために Status プロパティが設定された WebException がスローされます。

BaseAddress プロパティが空の文字列 ("") ではなく、address に絶対 URI が含まれていない場合、address は、要求されたデータの絶対 URI を形成するために BaseAddress と組み合わせた相対 URI である必要があります。 QueryString プロパティが空の文字列でない場合は、addressに追加されます。

手記

このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「.NET Frameworkでのネットワーク トレースの 」を参照してください。

適用対象