다음을 통해 공유


FtpWebRequest.GetRequestStream 메서드

정의

FTP 서버에 데이터를 업로드하는 데 사용되는 스트림을 검색합니다.

public:
 override System::IO::Stream ^ GetRequestStream();
public override System.IO.Stream GetRequestStream();
override this.GetRequestStream : unit -> System.IO.Stream
Public Overrides Function GetRequestStream () As Stream

반환

현재 요청에 의해 서버로 보낼 데이터를 저장하는 데 사용되는 쓰기 가능한 Stream 인스턴스입니다.

예외

BeginGetRequestStream(AsyncCallback, Object) 가 호출되었으며 완료되지 않았습니다.

-또는-

HTTP 프록시를 사용하도록 설정했고, FTP 명령을 DownloadFileListDirectoryListDirectoryDetails사용하려고 했습니다.

FTP 서버에 대한 연결을 설정할 수 없습니다.

속성이 Method 설정되지 않았거나 AppendFile.UploadFile

예제

다음 코드 예제에서는 요청의 데이터 스트림에 파일을 복사 하 고 데이터를 업로드 하 고 파일에 추가 하는 서버에 요청을 보내는 방법을 보여 줍니다.

public static bool AppendFileOnServer(string fileName, Uri serverUri)
{
    // The URI described by serverUri should use the ftp:// scheme.
    // It contains the name of the file on the server.
    // Example: ftp://contoso.com/someFile.txt.
    // The fileName parameter identifies the file containing
    // the data to be appended to the file on the server.

    if (serverUri.Scheme != Uri.UriSchemeFtp)
    {
        return false;
    }
    // Get the object used to communicate with the server.
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
    request.Method = WebRequestMethods.Ftp.AppendFile;

    StreamReader sourceStream = new StreamReader(fileName);
    byte [] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
    sourceStream.Close();
    request.ContentLength = fileContents.Length;

    // This example assumes the FTP site uses anonymous logon.
    request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");
    Stream requestStream = request.GetRequestStream();
    requestStream.Write(fileContents, 0, fileContents.Length);
    requestStream.Close();
    FtpWebResponse response = (FtpWebResponse) request.GetResponse();

    Console.WriteLine("Append status: {0}",response.StatusDescription);

    response.Close();
    return true;
}

설명

메서드를 호출 GetRequestStream 하기 전에 요청 속성을 설정합니다. 스트림에 데이터를 쓴 후 요청을 보내기 전에 스트림을 닫아야 합니다.

속성을 설정하지 않았거나 AppendFile스트림을 MethodUploadFile 가져올 수 없습니다.

는 스트림을 기다리는 동안 입니다. 이를 방지하려면 대신 메서드를 BeginGetRequestStream 호출합니다 GetRequestStream.

메모

이 멤버는 애플리케이션에서 네트워크 추적을 사용하도록 설정할 때 추적 정보를 출력합니다. 자세한 내용은 .NET Framework의 네트워크 추적을 참조하세요.

호출자 참고

이 메서드는 네트워크 트래픽을 생성합니다.

적용 대상

추가 정보