FtpWebRequest.GetRequestStream Metod
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 dataströmmen som används för att ladda upp data till en FTP-server.
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
Returer
En skrivbar Stream instans som används för att lagra data som ska skickas till servern av den aktuella begäran.
Undantag
BeginGetRequestStream(AsyncCallback, Object) har anropats och har inte slutförts.
-eller-
En HTTP-proxy är aktiverad och du försökte använda ett annat FTP-kommando än DownloadFile, ListDirectoryeller ListDirectoryDetails.
Det gick inte att upprätta en anslutning till FTP-servern.
Egenskapen Method är inte inställd på UploadFile eller AppendFile.
Exempel
Följande kodexempel visar hur du kopierar en fil till en begärans dataström och skickar en begäran till servern om att ladda upp data och lägga till dem i en fil.
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;
}
Kommentarer
Ange egenskaperna för begäran innan du GetRequestStream anropar metoden. När du har skrivit data till dataströmmen måste du stänga strömmen innan du skickar begäran.
Om du inte har angett Method egenskapen till UploadFile eller AppendFilekan du inte hämta dataströmmen.
GetRequestStream block medan du väntar på strömmen. För att förhindra detta anropar du BeginGetRequestStream -metoden i stället för GetRequestStream.
Note
Den här medlemmen matar ut spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing i .NET Framework.
Anteckningar till anropare
Den här metoden genererar nätverkstrafik.