FtpWebRequest.ContentOffset Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger en byteförskjutning i filen som laddas ned av den här begäran.
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
Egenskapsvärde
En Int64 instans som anger filförskjutningen i byte. Standardvärdet är noll.
Undantag
Ett nytt värde har angetts för den här egenskapen för en begäran som redan pågår.
Värdet som anges för den här egenskapen är mindre än noll.
Exempel
Följande kodexempel visar hur du laddar ned en del av en fil från en server och lägger till nedladdade data till en lokal fil.
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;
}
Kommentarer
Ange egenskapen ContentOffset när du laddar ned en fil från en FTP-server. Den här förskjutningen anger positionen i serverns fil som markerar början på de data som ska laddas ned. Förskjutningen anges som antalet byte från början av filen. förskjutningen av den första byte är noll.
Med inställningen ContentOffset skickas FtpWebRequest ett omstartskommando (REST) till servern. Det här kommandot ignoreras av de flesta FTP-serverimplementeringar om du laddar upp data till servern.
Om du ändrar ContentOffset efter att ha anropat GetRequestStream-metoden, BeginGetRequestStream, GetResponse eller BeginGetResponse orsakar ett InvalidOperationException undantag.