FtpWebRequest.ContentOffset 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 요청에 의해 다운로드되는 파일에 대한 바이트 오프셋을 가져오거나 설정합니다.
public:
property long ContentOffset { long get(); void set(long value); };
public long ContentOffset { get; set; }
member this.ContentOffset : int64 with get, set
Public Property ContentOffset As Long
속성 값
파일 오프 Int64 셋(바이트)을 지정하는 인스턴스입니다. 기본값은 0입니다.
예외
이미 진행 중인 요청에 대해 이 속성에 대해 새 값이 지정되었습니다.
이 속성에 대해 지정된 값이 0보다 작습니다.
예제
다음 코드 예제에서는 서버에서 파일의 일부를 다운로드하고 다운로드한 데이터를 로컬 파일에 추가하는 방법을 보여 줍니다.
public static bool RestartDownloadFromServer(string fileName, Uri serverUri, long offset)
{
// The serverUri parameter should use the ftp:// scheme.
// It identifies the server file that is to be downloaded
// Example: ftp://contoso.com/someFile.txt.
// The fileName parameter identifies the local file.
//The serverUri parameter identifies the remote file.
// The offset parameter specifies where in the server file to start reading data.
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.DownloadFile;
request.ContentOffset = offset;
FtpWebResponse response = null;
try
{
response = (FtpWebResponse) request.GetResponse();
}
catch (WebException e)
{
Console.WriteLine (e.Status);
Console.WriteLine (e.Message);
return false;
}
// Get the data stream from the response.
Stream newFile = response.GetResponseStream();
// Use a StreamReader to simplify reading the response data.
StreamReader reader = new StreamReader(newFile);
string newFileData = reader.ReadToEnd();
// Append the response data to the local file
// using a StreamWriter.
StreamWriter writer = File.AppendText(fileName);
writer.Write(newFileData);
// Display the status description.
// Cleanup.
writer.Close();
reader.Close();
response.Close();
Console.WriteLine("Download restart - status: {0}",response.StatusDescription);
return true;
}
설명
ContentOffset FTP 서버에서 파일을 다운로드할 때 속성을 설정합니다. 이 오프셋은 다운로드할 데이터의 시작을 표시하는 서버 파일의 위치를 나타냅니다. 오프셋은 파일 시작부터 바이트 수로 지정됩니다. 첫 번째 바이트의 오프셋이 0입니다.
설정 ContentOffset 하면 FtpWebRequest 다시 시작(REST) 명령이 서버에 전송됩니다. 이 명령은 서버에 데이터를 업로드하는 경우 대부분의 FTP 서버 구현에서 무시됩니다.
ContentOffset, GetRequestStream, BeginGetRequestStream, 또는 GetResponse 메서드를 호출한 후에 BeginGetResponse를 변경하면 InvalidOperationException 예외가 발생합니다.