Как я могу конвертировать IEnumerable<CustomType> в Byte64 для загрузки файла

Я использую WebApiContrib.Formatting.xlsx для создания и загрузки файла Microsoft Excel. Моя проблема в том, что при вызове с клиента файл не может быть открыт, и несколько методов были опробованы. При работе с PDF проблема была решена путем преобразования вывода в Byte64 следующим образом:

var response = new HttpResponseMessage
                {
                    Content = new StringContent(Convert.ToBase64String(output.ToArray())) 
                };
            response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
            response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
                {
                    FileName = "Report.pdf"
                };

            return response;

В случае с WebApiContrib.Formatting.xlsx у меня есть IEnumerable. Как можно конвертировать его так же, как в PDF.

var subscriptionExcelModels = subscriptionPlans, преобразованные в SubscriptionExcelModel[]?? subscriptionPlansConverted.ToArray();

Это мой фрагмент последней части кода для файла Excel:

   var ret = Request.CreateResponse(HttpStatusCode.OK,subscriptionExcelModels); 
    ret.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
    ret.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
    {
        FileName = "Report.xlsx"
    };

    return ret;

0 ответов

Другие вопросы по тегам