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보다 작은 경우
예제
다음 코드 예제에서는 서버에서 파일의 일부를 다운로드하고 다운로드한 데이터를 로컬 파일에 추가하는 방법을 보여 줍니다.
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 서버 구현에서 무시됩니다.
, , GetResponse또는 메서드를 호출한 GetRequestStream후 를 변경 ContentOffset 하면 예외가 발생합니다InvalidOperationException.BeginGetResponseBeginGetRequestStream