Как отправить файл с помощью HTTP-запроса на получение с помощью кода С #?

Я пытаюсь использовать веб-API sendgrid. Чтобы использовать его, вы выполняете запрос на получение 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-адресе для запроса на получение?


person Kyle    schedule 24.04.2012    source источник


Ответы (1)


Вы должны использовать метод WebClient.UploadFile, но почему бы просто не использовать сервер SendGrid stmp? Затем отправьте это письмо как любое другое письмо с SmtpClient, вот пример:

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

person Antonio Bakula    schedule 24.04.2012