ContentType.Name 属性
定义
获取或设置由此实例表示的 Content-Type 标头中包含的名称参数的值。Gets or sets the value of the name parameter included in the Content-Type header represented by this instance.
public:
property System::String ^ Name { System::String ^ get(); void set(System::String ^ value); };
public string Name { get; set; }
member this.Name : string with get, set
Public Property Name As String
属性值
String,包含与名称参数关联的值。A String that contains the value associated with the name parameter.
示例
下面的代码示例设置属性的值,以指定作为流附加的文件的名称。The following code example sets the value of the property to specify a name for a file being attached as a stream.
// The following example sends a summary of a log file as the message
// and the log as an email attachment.
static void SendNamedErrorLog( String^ server, String^ recipientList )
{
// Create a message from logMailer@contoso.com to recipientList.
MailMessage^ message = gcnew MailMessage( L"logMailer@contoso.com",recipientList );
message->Subject = L"Error Log report";
String^ fileName = L"log.txt";
// Get the file stream for the error log.
// Requires the System.IO namespace.
FileStream^ fs = gcnew FileStream( fileName,FileMode::Open,FileAccess::Read );
StreamReader^ s = gcnew StreamReader( fs );
int errors = 0;
while ( s->ReadLine() != nullptr )
{
// Process each line from the log file here.
errors++;
}
message->Body = String::Format( L"{0} errors in log as of {1}", errors, DateTime::Now );
// Close the stream reader. This also closes the file.
s->Close();
// Re-open the file at the beginning to make the attachment.
fs = gcnew FileStream( fileName,FileMode::Open,FileAccess::Read );
// Make a ContentType indicating that the log data
// that is attached is plain text and is named.
ContentType^ ct = gcnew ContentType;
ct->MediaType = MediaTypeNames::Text::Plain;
ct->Name = String::Format( L"log{0}.txt", DateTime::Now );
// Create the attachment.
Attachment^ data = gcnew Attachment( fs,ct );
// Add the attachment to the message.
message->Attachments->Add( data );
// Send the message.
// Include credentials if the server requires them.
SmtpClient^ client = gcnew SmtpClient( server );
client->Credentials = CredentialCache::DefaultNetworkCredentials;
client->Send( message );
data->~Attachment();
client->~SmtpClient();
// Close the log file.
fs->Close();
return;
}
// The following example sends a summary of a log file as the message
// and the log as an email attachment.
public static void SendNamedErrorLog(string server, string recipientList)
{
// Create a message from logMailer@contoso.com to recipientList.
MailMessage message = new MailMessage(
"logMailer@contoso.com", recipientList);
message.Subject = "Error Log report";
string fileName = "log.txt";
// Get the file stream for the error log.
// Requires the System.IO namespace.
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
StreamReader s = new StreamReader(fs);
int errors = 0;
while (s.ReadLine() != null)
{
// Process each line from the log file here.
errors++;
}
// The email message summarizes the data found in the log.
message.Body = String.Format("{0} errors in log as of {1}",
errors, DateTime.Now);
// Close the stream reader. This also closes the file.
s.Close();
// Re-open the file at the beginning to make the attachment.
fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
// Make a ContentType indicating that the log data
// that is attached is plain text and is named.
ContentType ct = new ContentType();
ct.MediaType = MediaTypeNames.Text.Plain;
ct.Name = "log" + DateTime.Now.ToString() + ".txt";
// Create the attachment.
Attachment data = new Attachment(fs, ct);
// Add the attachment to the message.
message.Attachments.Add(data);
// Send the message.
// Include credentials if the server requires them.
SmtpClient client = new SmtpClient(server);
client.Credentials = CredentialCache.DefaultNetworkCredentials;
try
{
client.Send(message);
}
catch (Exception ex)
{
Console.WriteLine("Exception caught in SendNamedErrorLog: {0}",
ex.ToString());
}
data.Dispose();
// Close the log file.
fs.Close();
return;
}
注解
在 Content-type 标头的以下示例中,属性的值 Name 为 "data.xyz" 。In the following example of a Content-Type header, the value of the Name property is "data.xyz".
content-type: application/x-myType; name=data.xyz
RFC 2045 第5.1 节中介绍了内容类型标头的语法,详细说明了内容类型标头的语法 https://www.ietf.org 。A grammar that details the syntax of the Content-Type header is described in RFC 2045 Section 5.1, available at https://www.ietf.org.
当将的内容指定 Attachment 为 Stream 或时 String ,您可以使用 Name 来设置在接收方系统上存储内容的文件的名称。When specifying content for a Attachment as a Stream or String, you can use Name to set the name of the file that stores the content on the recipient's system.