I am using RestSharp to call an HTTP service via a Querystring. The service generates a Word document.
When I call this service, it looks like a Word document is being returned in the "Content" property, but I struggling to work out how to return this content to the user via the traditional download window as a word document for saving.
    public ActionResult DocGen(string strReportId)
    {
        var client = new RestClient("http://localhost:88");
        var request = new RestRequest("DocGen/{id}", Method.GET);
        request.AddUrlSegment("id", "1060"); // replaces matching token in request.Resource
        // execute the request
        //RestResponse response = (RestResponse) client.Execute(request);
        IRestResponse response = client.Execute(request);
        if (response.ErrorException != null)
        {
            const string message = "Error retrieving response.  Check inner details for more info.";
            var myException = new ApplicationException(message, response.ErrorException);
            throw myException;
        }
        // Important and simple line. response.rawbytes was what I was missing.
        return File(response.RawBytes,response.ContentType,"sample.doc");
    }
Should this be an action?
The content type seems correct ie Word.11
So how do I code get this Response.Content back to the user?
Many thanks in advance.
EDIT
I was closer to the solution than I thought. Power to RestSharp I guess !! See above. Now there might be a better way, and I am all ears for any suggestions, but this is where I am at at present.
return File(response.RawBytes,response.ContentType,"sample.doc");
In case anyone may benefit.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With