Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么';在.NET中命名电子邮件附件的正确方法是什么?_C#_Email_Header_Attachment - Fatal编程技术网

C# 什么';在.NET中命名电子邮件附件的正确方法是什么?

C# 什么';在.NET中命名电子邮件附件的正确方法是什么?,c#,email,header,attachment,C#,Email,Header,Attachment,.NET附件类上有3个“名称”属性: 附件.名称 Attachment.ContentType.Name Attachment.ContentDisposition.FileName 我想发送一个名为“foo.xls”的excel文件。应该设置以下哪一项?有什么区别?这些文档不是特别有启发性。正确使用的是Attachment.Name Attachment.ContentType.Name的信息- 将附件的内容指定为流或字符串时,可以使用名称设置在收件人系统上存储内容的文件的名称 附件.Cont

.NET
附件
类上有3个“名称”属性:

附件.名称
Attachment.ContentType.Name
Attachment.ContentDisposition.FileName


我想发送一个名为“foo.xls”的excel文件。应该设置以下哪一项?有什么区别?这些文档不是特别有启发性。

正确使用的是Attachment.Name

Attachment.ContentType.Name的信息-

将附件的内容指定为流或字符串时,可以使用名称设置在收件人系统上存储内容的文件的名称

附件.ContentDisposition.FileName的信息-


FileName属性允许发件人建议将用于在收件人计算机上存储电子邮件附件的名称此名称仅为建议;接收系统可以忽略它。名称不得包含路径信息;接收计算机会忽略任何此类信息。

我不确定,但我认为所有这些信息都与
MIME类型有关。我认为您不需要设置任何信息。您只需要在实际附加文件时引用该文件。ie:
Attachment data=new Attachment(file)
@MelanciaUK:我在附加一个流,而不是系统上的一个文件,明白了吗@Ntellect13在下面给出了一个很好的答案。根据您的描述,似乎最好的做法是将Attachment.Name和ContentDisposition.Name值设置为同一个值。此外,这些值中是否应该包含路径信息?最好同时包含这两个值,尽管这不是必需的。这篇文章(“)说你不应该包括路径信息。如果你这样做了,它将被忽略。另外两个确实没有提到任何关于被包括的路径的内容,尽管示例中没有显示任何路径