WebClient.UploadFile 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 URI를 사용하여 리소스에 로컬 파일을 업로드합니다.
오버로드
UploadFile(String, String) |
지정된 URI를 사용하여 지정된 로컬 파일을 리소스에 업로드합니다. |
UploadFile(Uri, String) |
지정된 URI를 사용하여 지정된 로컬 파일을 리소스에 업로드합니다. |
UploadFile(String, String, String) |
지정된 메서드를 사용하여 지정된 로컬 파일을 지정된 리소스에 업로드합니다. |
UploadFile(Uri, String, String) |
지정된 메서드를 사용하여 지정된 로컬 파일을 지정된 리소스에 업로드합니다. |
UploadFile(String, String)
- Source:
- WebClient.cs
- Source:
- WebClient.cs
- Source:
- 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 배열입니다.
예외
BaseAddress결합하여 형성된 URI 및 address
유효하지 않습니다.
-또는-
fileName
null
, 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 페이지를 보여줍니다. 페이지는 웹 서버에 있어야 합니다. 해당 주소는 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>
설명
주의
WebRequest
, HttpWebRequest
, ServicePoint
및 WebClient
사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.
UploadFile 메서드는 리소스에 로컬 파일을 보냅니다. 이 메서드는 STOR 명령을 사용하여 FTP 리소스를 업로드합니다. HTTP 리소스의 경우 POST 메서드가 사용됩니다.
이 메서드는 파일을 업로드하는 동안 차단합니다. 서버의 응답을 기다리는 동안 실행을 계속하려면 UploadFileAsync 메서드 중 하나를 사용합니다.
POST
메서드는 HTTP에 의해 정의됩니다. 기본 요청이 HTTP를 사용하지 않고 서버에서 POST
인식할 수 없는 경우 기본 프로토콜 클래스에서 발생하는 작업을 결정합니다. 일반적으로 오류를 나타내기 위해 Status 속성이 설정된 WebException throw됩니다.
BaseAddress 속성이 빈 문자열("")이 아니고 address
절대 URI를 포함하지 않는 경우 address
요청된 데이터의 절대 URI를 형성하기 위해 BaseAddress 결합된 상대 URI여야 합니다.
QueryString 속성이 빈 문자열이 아니면 address
추가됩니다.
메모
이 멤버는 애플리케이션에서 네트워크 추적을 사용하도록 설정할 때 추적 정보를 출력합니다. 자세한 내용은 .NET Framework
적용 대상
UploadFile(Uri, String)
- Source:
- WebClient.cs
- Source:
- WebClient.cs
- Source:
- 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 배열입니다.
예외
BaseAddress결합하여 형성된 URI 및 address
유효하지 않습니다.
-또는-
fileName
null
, Empty, 잘못된 문자를 포함하거나 존재하지 않습니다.
-또는-
파일을 업로드하는 동안 오류가 발생했습니다.
-또는-
리소스를 호스팅하는 서버의 응답이 없습니다.
-또는-
Content-type
헤더는 multipart
시작합니다.
설명
주의
WebRequest
, HttpWebRequest
, ServicePoint
및 WebClient
사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.
UploadFile 메서드는 리소스에 로컬 파일을 보냅니다. 이 메서드는 STOR 명령을 사용하여 FTP 리소스를 업로드합니다. HTTP 리소스의 경우 POST 메서드가 사용됩니다.
이 메서드는 파일을 업로드하는 동안 차단합니다. 서버의 응답을 기다리는 동안 실행을 계속하려면 UploadFileAsync 메서드 중 하나를 사용합니다.
POST
메서드는 HTTP에 의해 정의됩니다. 기본 요청이 HTTP를 사용하지 않고 서버에서 POST
인식할 수 없는 경우 기본 프로토콜 클래스에서 발생하는 작업을 결정합니다. 일반적으로 오류를 나타내기 위해 Status 속성이 설정된 WebException throw됩니다.
BaseAddress 속성이 빈 문자열("")이 아니고 address
절대 URI를 포함하지 않는 경우 address
요청된 데이터의 절대 URI를 형성하기 위해 BaseAddress 결합된 상대 URI여야 합니다.
QueryString 속성이 빈 문자열이 아니면 address
추가됩니다.
메모
이 멤버는 애플리케이션에서 네트워크 추적을 사용하도록 설정할 때 추적 정보를 출력합니다. 자세한 내용은 .NET Framework
적용 대상
UploadFile(String, String, String)
- Source:
- WebClient.cs
- Source:
- WebClient.cs
- Source:
- 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 배열입니다.
예외
BaseAddress결합하여 형성된 URI 및 address
유효하지 않습니다.
-또는-
fileName
null
, 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 페이지를 보여줍니다. 페이지는 웹 서버에 있어야 합니다. 해당 주소는 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>
설명
주의
WebRequest
, HttpWebRequest
, ServicePoint
및 WebClient
사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.
주소가 HTTP 리소스를 지정하는 경우 UploadFile 메서드는 method
매개 변수에 지정된 HTTP 메서드를 사용하여 리소스에 로컬 파일을 보내고 서버의 응답을 반환합니다. 이 메서드는 파일을 업로드하는 동안 차단합니다. 서버의 응답을 기다리는 동안 실행을 계속하려면 UploadFileAsync 메서드 중 하나를 사용합니다.
method
매개 변수가 서버 또는 address
리소스에서 인식할 수 없는 동사를 지정하는 경우 기본 프로토콜 클래스에서 발생되는 내용을 결정합니다. 일반적으로 오류를 나타내기 위해 Status 속성이 설정된 WebException throw됩니다.
BaseAddress 속성이 빈 문자열("")이 아니고 address
절대 URI를 포함하지 않는 경우 address
요청된 데이터의 절대 URI를 형성하기 위해 BaseAddress 결합된 상대 URI여야 합니다.
QueryString 속성이 빈 문자열이 아니면 address
추가됩니다.
메모
이 멤버는 애플리케이션에서 네트워크 추적을 사용하도록 설정할 때 추적 정보를 출력합니다. 자세한 내용은 .NET Framework
적용 대상
UploadFile(Uri, String, String)
- Source:
- WebClient.cs
- Source:
- WebClient.cs
- Source:
- 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 배열입니다.
예외
BaseAddress결합하여 형성된 URI 및 address
유효하지 않습니다.
-또는-
fileName
null
, Empty, 잘못된 문자를 포함하거나 존재하지 않습니다.
-또는-
파일을 업로드하는 동안 오류가 발생했습니다.
-또는-
리소스를 호스팅하는 서버의 응답이 없습니다.
-또는-
Content-type
헤더는 multipart
시작합니다.
설명
주의
WebRequest
, HttpWebRequest
, ServicePoint
및 WebClient
사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.
주소가 HTTP 리소스를 지정하는 경우 UploadFile 메서드는 method
매개 변수에 지정된 HTTP 메서드를 사용하여 리소스에 로컬 파일을 보내고 서버의 응답을 반환합니다. 이 메서드는 파일을 업로드하는 동안 차단합니다. 서버의 응답을 기다리는 동안 실행을 계속하려면 UploadFileAsync 메서드 중 하나를 사용합니다.
method
매개 변수가 서버 또는 address
리소스에서 인식할 수 없는 동사를 지정하는 경우 기본 프로토콜 클래스에서 발생되는 내용을 결정합니다. 일반적으로 오류를 나타내기 위해 Status 속성이 설정된 WebException throw됩니다.
BaseAddress 속성이 빈 문자열("")이 아니고 address
절대 URI를 포함하지 않는 경우 address
요청된 데이터의 절대 URI를 형성하기 위해 BaseAddress 결합된 상대 URI여야 합니다.
QueryString 속성이 빈 문자열이 아니면 address
추가됩니다.
메모
이 멤버는 애플리케이션에서 네트워크 추적을 사용하도록 설정할 때 추적 정보를 출력합니다. 자세한 내용은 .NET Framework
적용 대상
.NET