Redigera

Dela via


ContentDisposition.FileName Property

Definition

Gets or sets the suggested file name for an email attachment.

public:
 property System::String ^ FileName { System::String ^ get(); void set(System::String ^ value); };
public string? FileName { get; set; }
public string FileName { get; set; }
member this.FileName : string with get, set
Public Property FileName As String

Property Value

A String that contains the file name.

Examples

The following code example demonstrates how to set the value of this property.

static void CreateMessageAttachment1( String^ server, String^ textMessage )
{
   
   // Create a message and set up the recipients.
   MailMessage^ message = gcnew MailMessage( L"jane@contoso.com",L"ben@contoso.com",L"A text message for you.",L"Message: " );
   
   // Attach the message string to this email message.
   Attachment^ data = gcnew Attachment( textMessage,MediaTypeNames::Text::Plain );
   ContentDisposition^ disposition = data->ContentDisposition;
   
   // Suggest a file name for the attachment.
   disposition->FileName = String::Format( L"message{0}", DateTime::Now );
   message->Attachments->Add( data );
   
   //Send the message.
   SmtpClient^ client = gcnew SmtpClient( server );
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   client->Send( message );
   
   // Display the values in the ContentDisposition for the attachment.
   Console::WriteLine( L"Content disposition" );
   Console::WriteLine( disposition );
   Console::WriteLine( L"File {0}", disposition->FileName );
   Console::WriteLine( L"Size {0}", disposition->Size );
   Console::WriteLine( L"Creation {0}", disposition->CreationDate );
   Console::WriteLine( L"Modification {0}", disposition->ModificationDate );
   Console::WriteLine( L"Read {0}", disposition->ReadDate );
   Console::WriteLine( L"Inline {0}", disposition->Inline );
   Console::WriteLine( L"Parameters: {0}", disposition->Parameters->Count );
   IEnumerator^ myEnum2 = disposition->Parameters->GetEnumerator();
   while ( myEnum2->MoveNext() )
   {
      DictionaryEntry^ d = safe_cast<DictionaryEntry^>(myEnum2->Current);
      Console::WriteLine( L"{0} = {1}", d->Key, d->Value );
   }

   data->~Attachment();
   client->~SmtpClient();
}
public static void CreateMessageAttachment1(string server, string textMessage)
{
    // Create a message and set up the recipients.
    MailMessage message = new MailMessage(
       "jane@contoso.com",
       "ben@contoso.com",
       "A text message for you.",
       "Message: ");

    // Attach the message string to this email message.
    Attachment data = new Attachment(textMessage, MediaTypeNames.Text.Plain);
    ContentDisposition disposition = data.ContentDisposition;
    // Suggest a file name for the attachment.
    disposition.FileName = "message" + DateTime.Now.ToString();
    message.Attachments.Add(data);
    //Send the message.
    SmtpClient client = new SmtpClient(server);
    client.Credentials = CredentialCache.DefaultNetworkCredentials;

    try
    {
        client.Send(message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception caught in CreateMessageAttachment1(): {0}",
            ex.ToString());
    }
    // Display the values in the ContentDisposition for the attachment.
    Console.WriteLine("Content disposition");
    Console.WriteLine(disposition.ToString());
    Console.WriteLine("File {0}", disposition.FileName);
    Console.WriteLine("Size {0}", disposition.Size);
    Console.WriteLine("Creation {0}", disposition.CreationDate);
    Console.WriteLine("Modification {0}", disposition.ModificationDate);
    Console.WriteLine("Read {0}", disposition.ReadDate);
    Console.WriteLine("Inline {0}", disposition.Inline);
    Console.WriteLine("Parameters: {0}", disposition.Parameters.Count);
    foreach (DictionaryEntry d in disposition.Parameters)
    {
        Console.WriteLine("{0} = {1}", d.Key, d.Value);
    }
    data.Dispose();
}

Remarks

The FileName property allows the sender to suggest the name to be used to store an email attachment on the recipient's computer. This name is a suggestion only; the receiving system can ignore it. The name must not include path information; any such information is ignored by the receiving computer.

To remove file name information, you can set this property to null or the empty string ("").

The Content-Disposition header is described in RFC 2183 available at https://www.ietf.org.

Applies to