Определение массива байтов в JavaScript - PullRequest
0 голосов
/ 02 марта 2010

Как передать байтовый массив из JavaScript в элемент управления ActiveX.

Мой JavaScript будет вызывать WCF-сервер (метод), и этот метод будет возвращать байтовый массив. После этого мне нужно передать этот байтовый массив в элемент управления ActiveX.

Может ли кто-нибудь дать мне решение для этого?

Ответы [ 3 ]

0 голосов
/ 11 марта 2010

Из javascript вы получите форму строки base64_encode. У компонента ActiveX должна быть функция для преобразования строки в байтовый массив, подобный этому

 byte[] string2byte(string s)
    {
        byte[] b = new byte[s.Length / 2];
        for (int i = 0; i < s.Length; i += 2) { b[i / 2] = Convert.ToByte(s.Substring(i, 2), 16); }
        return b;
    }
0 голосов
/ 12 марта 2010

Я решил эту проблему, возвращая base64string, а не байтовый массив из службы WCF.

Чтобы я мог просто преобразовать строку Base64, используя метод Convert.FromBase64String (), в байтовый массив.

0 голосов
/ 02 марта 2010

В зависимости от того, какую привязку использует ваша служба WCF (и, как вы ее вызываете из javascript, я предполагаю webHttpBinding), вполне возможно, что возвращенный байтовый массив будет возвращен в виде строки в кодировке 64. Поэтому вам может потребоваться изменить компонент ActiveX, чтобы он принимал в качестве параметра строку в кодировке Base 64 вместо байтового массива.

...