I have an excel file (Excel 2003 / xls format) and I want to send it by email with c#.
My code send it successfully, but when I try to open the response file, it seems to encoded wrongly.
For example here is the response filename:
=_utf-8_B_RWxzesOhbW9sw6FzXzIwMTJfMTBfMTZf.dat
And here is the response file itself:
=?utf-8?B?VEdWdmJIWmhjMkZ1Wk1Pelh6UXlYekZmPz0NCiA9P3V0Zi04P0I/VGtW?=\
\ =?utf-8?B?TlgwZFRXaTU0YkhNPT89?=” Content-Transfer-Encoding: base64
Content-Disposition: attachment0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAA
AQAAAAAAAAAAEAAAIwAAAAEAAAD+////AAAAAAAAAAD/////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////// ….
Here is my code fragment:
...
var attachment = new Attachment(WriteFileToMemory("fileFullPath"), "fileName.xls");
attachment.ContentType = new ContentType("application/vnd.ms-excel");
attachmentCollection.Add(attachment);
...
private Stream WriteFileToMemory(string filePath)
{
var memoryStream = new MemoryStream();
_openedStreams.Add(memoryStream);
using (var file = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
var bytes = new byte[file.Length];
file.Read(bytes, 0, (int) file.Length);
memoryStream.Write(bytes, 0, (int) file.Length);
file.Close();
}
memoryStream.Position = 0;
return memoryStream;
}
How can I set the attachment encoding type, and which encoding should I use with Excel files?
Please help me solve this problem.
Thanks in advance.
I found a solution:
Based on this source: http://social.msdn.microsoft.com/Forums/en-US/dotnetframeworkde/thread/b6c764f7-4697-4394-b45f-128a24306d55