FtpWebRequest.ContentOffset Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Byte-Offset in die Datei ab, die von dieser Anforderung heruntergeladen wird, oder legt diesen fest.
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
Eigenschaftswert
Eine Int64 Instanz, die den Dateioffset in Byte angibt. Der Standardwert ist 0 (null).
Ausnahmen
Für diese Eigenschaft wurde ein neuer Wert für eine Bereits ausgeführte Anforderung angegeben.
Der für diese Eigenschaft angegebene Wert ist kleiner als Null.
Beispiele
Das folgende Codebeispiel veranschaulicht das Herunterladen eines Teils einer Datei von einem Server und das Anfügen der heruntergeladenen Daten an eine lokale Datei.
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;
}
Hinweise
Legen Sie die ContentOffset Eigenschaft beim Herunterladen einer Datei von einem FTP-Server fest. Dieser Offset gibt die Position in der Datei des Servers an, die den Start der herunterzuladenden Daten markiert. Der Offset wird als Die Anzahl der Bytes vom Anfang der Datei angegeben; der Offset des ersten Byte ist Null.
Die Einstellung ContentOffset bewirkt, dass der FtpWebRequest Befehl "Neustart" (REST) an den Server gesendet wird. Dieser Befehl wird von den meisten FTP-Serverimplementierungen ignoriert, wenn Sie Daten auf den Server hochladen.
Das Ändern von ContentOffset nach dem Aufrufen der Methoden GetRequestStream, BeginGetRequestStream, GetResponse oder BeginGetResponse verursacht eine InvalidOperationException-Ausnahme.