FtpWebRequest.GetRequestStream Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Recupera la secuencia usada para cargar datos en un servidor FTP.
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
Devoluciones
Instancia grabable que Stream se usa para almacenar los datos que se van a enviar al servidor mediante la solicitud actual.
Excepciones
BeginGetRequestStream(AsyncCallback, Object) se ha llamado a y no se ha completado.
O bien
Un proxy HTTP está habilitado e intentó usar un comando FTP distinto de DownloadFile, ListDirectoryo ListDirectoryDetails.
No se pudo establecer una conexión con el servidor FTP.
La Method propiedad no está establecida UploadFile en o AppendFile.
Ejemplos
En el ejemplo de código siguiente se muestra cómo copiar un archivo en el flujo de datos de una solicitud y enviar una solicitud al servidor para cargar los datos y anexarlos a un archivo.
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;
}
Comentarios
Establezca las propiedades de solicitud antes de llamar al GetRequestStream método . Después de escribir los datos en la secuencia, debe cerrar la secuencia antes de enviar la solicitud.
Si no ha establecido la Method propiedad UploadFile en o AppendFile, no puede obtener la secuencia.
GetRequestStream bloquea mientras espera la secuencia. Para evitar esto, llame al BeginGetRequestStream método en lugar de GetRequestStream.
Note
Este miembro genera información de seguimiento al habilitar el seguimiento de red en la aplicación. Para obtener más información, vea Network Tracing in the .NET Framework.
Notas a los autores de las llamadas
Este método genera tráfico de red.