如何通过c#代码通过http get请求发送文件?

时间:2012-04-24 21:42:37

标签: c# c#-4.0 get httpwebrequest http-get

我正在尝试使用sendgrid的Web API。要使用它,您需要获取一个类似于此

的URL的请求
sendgrid.com/api/mail.send.json?to=example%40exaple.com&from=example%40example&subject=Subject&text=Body&files=files%5Bfile1.doc%5D%3Dexample.doc%26files%5Bfile2.pdf%5D%3Dexample.pdf&api_user=usnermae&api_key=apikey

令我困惑的是文件部分:

&files=files%5Bfile1.doc%5D%3Dexample.doc%26files%5Bfile2.pdf%5D%3Dexample.pdf&api_user=usnermae&api_key=apikey

在c#代码中,我如何将流中或byte []中的文件提供给URL?

这就是我最终执行请求的方式。

using (WebClient client = new WebClient())
{
    string text = client.DownloadString(url);
}

到目前为止工作正常,除了附件外,我已经编写了所有程序。 任何人都可以指出我如何将文件放入URL获取请求的正确方向吗?

1 个答案:

答案 0 :(得分:1)

您应该使用WebClient.UploadFile方法,但为什么不简单地使用SendGrid smtp服务器?然后将此邮件作为包含SmtpClient的任何其他邮件发送,以下是示例:

http://www.mattpaulson.com/2011/01/using-sendgrid-in-asp-net/