FtpWebResponse.ResponseUri 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取对请求发送响应的 URI。
public:
virtual property Uri ^ ResponseUri { Uri ^ get(); };
public override Uri ResponseUri { get; }
member this.ResponseUri : Uri
Public Overrides ReadOnly Property ResponseUri As Uri
属性值
Uri 实例,它标识与此响应关联的资源。
示例
下面的代码示例显示此属性的值。
static bool DownloadFileFromServer( Uri^ serverUri, String^ localFileName )
{
// The serverUri parameter should start with the ftp:// scheme.
if ( serverUri->Scheme != Uri::UriSchemeFtp )
{
return false;
}
// Get the object used to communicate with the server.
// Note that the cast to FtpWebRequest is done only
// for the purposes of illustration. If your application
// does not set any properties other than those defined in the
// System.Net.WebRequest class, you can use the following line instead:
// WebRequest request = WebRequest.Create(serverUri);
//
FtpWebRequest^ request = dynamic_cast<FtpWebRequest^>(WebRequest::Create( serverUri ));
request->Method = WebRequestMethods::Ftp::DownloadFile;
FtpWebResponse^ response = dynamic_cast<FtpWebResponse^>(request->GetResponse());
Stream^ responseStream = nullptr;
StreamReader^ readStream = nullptr;
StreamWriter^ writeStream = nullptr;
try
{
responseStream = response->GetResponseStream();
readStream = gcnew StreamReader( responseStream,System::Text::Encoding::UTF8 );
// Display information about the data received from the server.
Console::WriteLine( "Bytes received: {0}", response->ContentLength );
Console::WriteLine( "Message from server: {0}", response->StatusDescription );
Console::WriteLine( "Resource: {0}", response->ResponseUri );
// Write the bytes received from the server to the local file.
if ( readStream != nullptr )
{
writeStream = gcnew StreamWriter( localFileName,false );
writeStream->Write( readStream->ReadToEnd() );
}
}
finally
{
if ( readStream != nullptr )
{
readStream->Close();
}
if ( response != nullptr )
{
response->Close();
}
if ( writeStream != nullptr )
{
writeStream->Close();
}
}
return true;
}
public static bool DownloadFileFromServer(Uri serverUri, string localFileName)
{
// The serverUri parameter should start with the ftp:// scheme.
if (serverUri.Scheme != Uri.UriSchemeFtp)
{
return false;
}
// Get the object used to communicate with the server.
// Note that the cast to FtpWebRequest is done only
// for the purposes of illustration. If your application
// does not set any properties other than those defined in the
// System.Net.WebRequest class, you can use the following line instead:
// WebRequest request = WebRequest.Create(serverUri);
//
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
request.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse response = (FtpWebResponse) request.GetResponse();
Stream responseStream = null;
StreamReader readStream = null;
StreamWriter writeStream = null;
try
{
responseStream = response.GetResponseStream();
readStream = new StreamReader(responseStream, System.Text.Encoding.UTF8);
// Display information about the data received from the server.
Console.WriteLine("Bytes received: {0}",response.ContentLength);
Console.WriteLine("Message from server: {0}", response.StatusDescription);
Console.WriteLine("Resource: {0}", response.ResponseUri);
// Write the bytes received from the server to the local file.
if (readStream != null)
{
writeStream = new StreamWriter(localFileName, false);
writeStream.Write(readStream.ReadToEnd());
}
}
finally
{
if (readStream != null)
{
readStream.Close();
}
if (response != null)
{
response.Close();
}
if (writeStream != null)
{
writeStream.Close();
}
}
return true;
}
注解
由于特定于服务器和资源的行为(例如重定向),属性返回 RequestUri 的值并不总是与 属性返回 ResponseUri 的值相同。
对于使用 UploadFileWithUniqueName 方法的请求, ResponseUri 返回服务器上的文件的名称。