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 です。

BaseAddress および address を組み合わせて形成された URI が無効です。

- または -

fileNamenull または Empty であるか、無効な文字が含まれています。または、fileName が存在しません。

- または -

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

- または -

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

- または -

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

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

注釈

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

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

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

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

Note

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.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 です。

BaseAddress および address を組み合わせて形成された URI が無効です。

- または -

fileNamenull または Empty であるか、無効な文字が含まれています。または、fileName が存在しません。

- または -

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

- または -

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

- または -

Content-type ヘッダーが multipart で始まっています。

注釈

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

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

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

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

Note

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.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 です。

BaseAddress および address を組み合わせて形成された URI が無効です。

- または -

fileNamenull または Empty であるか、無効な文字が含まれています。または、fileName が存在しません。

- または -

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

- または -

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

- または -

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

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

注釈

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

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

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

Note

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.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 です。

BaseAddress および address を組み合わせて形成された URI が無効です。

- または -

fileNamenull または Empty であるか、無効な文字が含まれています。または、fileName が存在しません。

- または -

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

- または -

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

- または -

Content-type ヘッダーが multipart で始まっています。

注釈

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

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

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

Note

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

適用対象