Jag hämtar upp en byte array från databasen (SQL Server) som har sparats ned (det är ett pdf dokument). Nu vill jag skicka med denna "array "...på något sätt i ett mail. MailAttachment kräver väl en fysisk fil? alltså behöver du skriva ner byte-arrayen som en fil och attacha den, är det så du har tänkt eller? Tänkte att jag ksulle slippa skriva ner byte arrayen till disk men kanske inte kommer undan det? Hej .NET's inbyggda MailAttachment har tyvärr inget stöd för något annat än att läsa från en fil... Att pumpa in datat från en byte-array är förstås snabbare, men då antar jag att du måste koda det hela på en lägre nivå med NetworkStream och Tcp-Socket. Googla lite, det finns säkert någon som har tänkte på det här förut. Det är även värt att kolla upp tredejpartsprodukter. Det enklaste tror jag skulle vara att besöka sidan http://www.aisto.com/roeder/dotnet och "kopiera" all kod/klasser för att skicka mail. Sedan kan man ändra lite på den biten som skicka bilagor Det du behöver göra är att base64-koda din array. Sedan är det bara att lägga till den i brevet som vilken vanlig text som helst. Vill du att mottagaren ska känna igen den som en bifogad fil använder du bara en mime-header. Titta på ett brev med en bifogad fil så ser du hur det ser ut. Det är också bara ren text som du lägger till i brevet. Ett exempel: spana in DotNEt Mailer,Skicka med byte array i e-mail. HJÄLP!
Hur gör jag detta?
Jag har även tillgång till file extension och dokuments namnet från databasen från när jag sparade ned dokumentet.
Ska sägas att applicationen är i ASP.NET och C# och jag känner till MailAttachment (tänkt att använda det), men får inte ihop det.
Tacksam för alla svar...
//MVH Sara Sv: Skicka med byte array i e-mail. HJÄLP!
OlaSv: Skicka med byte array i e-mail. HJÄLP!
Överallt står det om hur man skriver en stream till byte array men inte vice versa...har du någon kod snutt som kan hjälpa?Sv: Skicka med byte array i e-mail. HJÄLP!
Är det en byte-array till en stream du behöver? Varsågod.
Hälsn
/staffan
using System.IO;
.
.
.
byte[] dbdata ; // fylld med data...
MemoryStream ms = new MemoryStream(dbdata);Sv: Skicka med byte array i e-mail. HJÄLP!
OlaSv: Skicka med byte array i e-mail. HJÄLP!
Sv: Skicka med byte array i e-mail. HJÄLP!
Content-Type: application/pdf;
name="test.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="test.pdf"Sv: Skicka med byte array i e-mail. HJÄLP!
http://www.aspsimply.com/vbnet/NetMail.aspx
Ola