Tuesday, March 13, 2018

C# - RestClient POST with File and Content Parameters, Helpspot

string URI = "https://##SITE##/helpspot/create";
    

var client = new RestClient(URI);

var request = new RestRequest(Method.POST);
request.RequestFormat = DataFormat.Xml;
request.AddParameter("xCategory", currentLanguageId);
request.AddParameter("tNote", model.TextArea);
request.AddParameter("sTitle", page.Heading);
request.AddParameter("sFirstName", model.FirstName);
request.AddParameter("xPersonOpenedBy", 0);
request.AddParameter("sLastName", model.LastName);
request.AddParameter("email_from", emailFromID);
request.AddParameter("sEmail", model.Email);
request.AddParameter("Custom3", model.SelectBasic);
request.AddParameter("Custom2", model.Car);

if (model.File != null)
{
    BinaryReader b = new BinaryReader(model.File.InputStream);
    byte[] binData = b.ReadBytes(model.File.ContentLength);

    request.AddParameter("File1_sFilename", model.File.FileName);
    request.AddParameter("File1_sFileMimeType", MimeMapping.GetMimeMapping(model.File.FileName));
    request.AddParameter("File1_bFileBody", Convert.ToBase64String(binData));
}

// Execute the request
//IRestResponse response = client.Execute(request);
//var content = response.Content; // raw content as string

//Async
client.ExecuteAsync(request, response =>
{
    var content = response.Content;
});

No comments:

Post a Comment