แก้ไข

แชร์ผ่าน


FileWebRequest.GetRequestStream Method

Definition

Returns a Stream object for writing data to the file system resource.

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

Returns

A Stream for writing data to the file system resource.

Exceptions

The request times out.

Examples

The following code example uses the GetRequestStream method to obtain a stream instance used to write to the file. Refer to the complete example in the FileWebRequest class.

// Enter the string to write into the file.
Console::WriteLine( "Enter the string you want to write:" );
String^ userInput = Console::ReadLine();

// Convert the string to Byte array.
ASCIIEncoding^ encoder = gcnew ASCIIEncoding;
array<Byte>^byteArray = encoder->GetBytes( userInput );

// Set the ContentLength property.
myFileWebRequest->ContentLength = byteArray->Length;
String^ contentLength = myFileWebRequest->ContentLength.ToString();
Console::WriteLine( "\nThe content length is {0}.", contentLength );

// Get the file stream handler to write into the file.
Stream^ readStream = myFileWebRequest->GetRequestStream();

// Write to the file stream.
// Note. In order for this to work the file must be accessible
// on the network. This can be accomplished by setting the property
// sharing of the folder containg the file. The permissions
// can be set so everyone can modify the file.
// FileWebRequest::Credentials property cannot be used for this purpose.
readStream->Write( byteArray, 0, userInput->Length );
Console::WriteLine( "\nThe String you entered was successfully written into the file." );
// Enter the string to write to the file.
Console.WriteLine ("Enter the string you want to write:");

string userInput = Console.ReadLine ();

// Convert the string to a byte array.
ASCIIEncoding encoder = new ASCIIEncoding ();
byte[] byteArray = encoder.GetBytes (userInput);

// Set the ContentLength property.
myFileWebRequest.ContentLength = byteArray.Length;

string contentLength = myFileWebRequest.ContentLength.ToString ();

Console.WriteLine ("\nThe content length is {0}.", contentLength);

// Get the file stream handler to write to the file.
Stream readStream = myFileWebRequest.GetRequestStream ();

// Write to the file stream.
// Note.  For this to work, the file must be accessible
// on the network. This can be accomplished by setting the property
// sharing of the folder containg the file.
// FileWebRequest.Credentials property cannot be used for this purpose.
readStream.Write (byteArray, 0, userInput.Length);
Console.WriteLine ("\nThe String you entered was successfully written to the file.");
' Enter the string to write to the file.
Console.WriteLine("Enter the string you want to write:")
Dim userInput As String = Console.ReadLine()

' Convert the string to a byte array.
Dim encoder As New ASCIIEncoding
Dim byteArray As Byte() = encoder.GetBytes(userInput)

' Set the ContentLength property.
myFileWebRequest.ContentLength = byteArray.Length

Dim contentLength As String = myFileWebRequest.ContentLength.ToString()

Console.WriteLine(ControlChars.Lf + "The content length is {0}.", contentLength)


' Get the file stream handler to write to the file.
Dim readStream As Stream = myFileWebRequest.GetRequestStream()

' Write to the stream. 
' Note. For this to work the file must be accessible
' on the network. This can be accomplished by setting the property
' sharing of the folder containg the file.  
' FileWebRequest.Credentials property cannot be used for this purpose.
readStream.Write(byteArray, 0, userInput.Length)


Console.WriteLine(ControlChars.Lf + "The String you entered was successfully written to the file.")

Remarks

The GetRequestStream method provides synchronous access to the Stream. For asynchronous access, use the BeginGetRequestStream and EndGetRequestStream methods.

Applies to

See also