summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrandon West <brawest@gmail.com>2013-01-14 11:09:17 -0700
committerBrandon West <brawest@gmail.com>2013-01-14 11:09:17 -0700
commitdc5e5618f5050df2f10ea5ee30c05ed164e768d1 (patch)
tree6d70a42fca2c7e77b128eae941a9200f8eff6052
parent41f4b13ffd8196113e005314627fba74a148c8da (diff)
downloadsendgrid-csharp-dc5e5618f5050df2f10ea5ee30c05ed164e768d1.zip
sendgrid-csharp-dc5e5618f5050df2f10ea5ee30c05ed164e768d1.tar.gz
sendgrid-csharp-dc5e5618f5050df2f10ea5ee30c05ed164e768d1.tar.bz2
attachments working again
-rwxr-xr-xSendGrid/Example/WEBAPI.cs2
-rwxr-xr-xSendGrid/SendGridMail/SendGrid.cs1
-rw-r--r--SendGrid/SendGridMail/Transport/Web.cs10
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);
}
}