将C#字节数组传递给javascript

Ish*_*ani 8 javascript c# modal-dialog sharepoint-2010

我有一种情况,我在网页的C#类后面的代码中有一个图像的字节数组(弹出页面)

protected void ToFile(byte[] byteImage)

{
            string strByte = byteImage.ToString();
            this.Context.Response.Write("<script type='text/javascript'>window.frameElement.commitPopup('" + byteImage + "');</script>");
            this.Context.Response.End();
}
Run Code Online (Sandbox Code Playgroud)

我想将byteImage传递给处理函数,即.in javascript /在父页面上

function onDialogClose(dialogResult,returnValue) {
        if (dialogResult == SP.UI.DialogResult.OK) {
            //var inputBuffer = new System.Byte(returnValue.length);
            //var byte = new Array();
            //byte = returnValue;
Run Code Online (Sandbox Code Playgroud)

如何获取字节数组returnValue(现在它只包含System.Byte [])

有没有办法从Javascript访问C3 byte []数组?

thankx

Tim*_*mwi 7

您可以使用base64编码安全地编码字节数组:

var result = Convert.ToBase64String(bytes);
Run Code Online (Sandbox Code Playgroud)

当然,为了在JavaScript中访问原始字节值,您必须在JavaScript端将其转换回来.在JavaScript中没有内置函数,但你可以从这个网站获取decodeBase64实现.