diff options
author | Brandon West <brawest@gmail.com> | 2013-01-14 11:09:17 -0700 |
---|---|---|
committer | Brandon West <brawest@gmail.com> | 2013-01-14 11:09:17 -0700 |
commit | dc5e5618f5050df2f10ea5ee30c05ed164e768d1 (patch) | |
tree | 6d70a42fca2c7e77b128eae941a9200f8eff6052 | |
parent | 41f4b13ffd8196113e005314627fba74a148c8da (diff) | |
download | sendgrid-csharp-dc5e5618f5050df2f10ea5ee30c05ed164e768d1.zip sendgrid-csharp-dc5e5618f5050df2f10ea5ee30c05ed164e768d1.tar.gz sendgrid-csharp-dc5e5618f5050df2f10ea5ee30c05ed164e768d1.tar.bz2 |
attachments working again
-rwxr-xr-x | SendGrid/Example/WEBAPI.cs | 2 | ||||
-rwxr-xr-x | SendGrid/SendGridMail/SendGrid.cs | 1 | ||||
-rw-r--r-- | SendGrid/SendGridMail/Transport/Web.cs | 10 |
3 files changed, 5 insertions, 8 deletions
diff --git a/SendGrid/Example/WEBAPI.cs b/SendGrid/Example/WEBAPI.cs index d52786d..6e52064 100755 --- a/SendGrid/Example/WEBAPI.cs +++ b/SendGrid/Example/WEBAPI.cs @@ -53,6 +53,8 @@ namespace Example var memoryStream = new MemoryStream();
var stream = new StreamWriter(memoryStream);
stream.Write(file);
+ stream.Flush();
+ memoryStream.Seek(0, SeekOrigin.Begin);
message.AddAttachment(memoryStream, "foo.txt");
stream.Flush();
stream.Close();
diff --git a/SendGrid/SendGridMail/SendGrid.cs b/SendGrid/SendGridMail/SendGrid.cs index 3f2878f..0ee7079 100755 --- a/SendGrid/SendGridMail/SendGrid.cs +++ b/SendGrid/SendGridMail/SendGrid.cs @@ -310,6 +310,7 @@ namespace SendGridMail {
MemoryStream ms = new MemoryStream();
stream.CopyTo(ms);
+ ms.Seek(0,SeekOrigin.Begin);
StreamedAttachments[name] = ms;
}
diff --git a/SendGrid/SendGridMail/Transport/Web.cs b/SendGrid/SendGridMail/Transport/Web.cs index b05d5c5..3395bdd 100644 --- a/SendGrid/SendGridMail/Transport/Web.cs +++ b/SendGrid/SendGridMail/Transport/Web.cs @@ -73,12 +73,7 @@ namespace SendGridMail.Transport //TODO: think the files are being sent in the POST data... but we need to add them as params as well var files = FetchFileBodies (message); - foreach (KeyValuePair<string, FileInfo> file in files) { - var name = Path.GetFileName(file.Key); - FileStream stream = File.OpenRead(file.Value.FullName); - request.AddParameter("files[" + Path.GetFileName(file.Key) + "]", Utils.ReadFully(stream)); - stream.Close(); - } + files.ForEach (kvp => request.AddFile ("files[" + Path.GetFileName (kvp.Key) + "]", kvp.Value.FullName)); var streamingFiles = FetchStreamingFileBodies(message); foreach (KeyValuePair<string, MemoryStream> file in streamingFiles) { @@ -91,8 +86,7 @@ namespace SendGridMail.Transport } ); - request.AddFile(name, writer, name); - //request.AddParameter("files[" + name + "]",""); + request.AddFile("files[" + name + "]", writer, name); } } |