2017-02-21 24 views
0

Это, как я обычно выполнить веб-формы ASPX и получить строку с выхода:Может ли HttpServerUtility.Execute получить двоичные данные?

public static string GetAspPageOutput(string page) 
{ 
    string html; 

    using (var sw = new StringWriter()) 
    { 
    HttpContext.Current.Server.Execute(page, sw); 

    html = sw.ToString(); 
    } 

    return html; 
} 

Как я вместо этого получить массив байтов?

+0

Является ли страница записью двоичного ответа? Или вы хотите преобразовать этот HTML в массив байтов? – mason

+0

Да, страница использует 'HttpResponse.BinaryWrite'. –

ответ

0

Предложение от этого поста https://stackoverflow.com/a/1745456/3646986. Используйте StreamWriter вместо StringWriter

MemoryStream ms = new MemoryStream(); 
StreamWriter writer = new StreamWriter(ms); 
context.Server.Execute(virtualpath, writer); 
var bytes = ms.toArray() 
return bytes 

 Смежные вопросы

  • Нет связанных вопросов^_^