簡體   English   中英

將C#字節數組傳遞給javascript

[英]pass C# byte array to javascript

我有一種情況,我在網頁的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();
}

我想將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;

如何在returnValue (現在它只包含System.Byte [])獲取字節數組

有沒有辦法從Javascript訪問C3 byte []數組?

thankx

您可以使用base64編碼安全地編碼字節數組:

var result = Convert.ToBase64String(bytes);

當然,為了在JavaScript中訪問原始字節值,您必須在JavaScript端將其轉換回來。 在JavaScript中沒有內置函數,但你可以從這個網站獲取decodeBase64實現

你可以用它

private string Bytes2String(byte[] bytes){
    return "["+string.Join(",",bytes.Select(b=>b.ToString()))+"]";
}

如果您使用的是.Net 4.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM