Как в ASP конвертировать байтовый массив в строку?

Программирование на Active Server Pages и VBScript.
Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Как в ASP конвертировать байтовый массив в строку?

Сообщение Antonariy » 05.10.2007 (Пт) 16:57

Нужно конвертировать результат операции Request.BinaryRead(Request.TotalBytes).
Лучший способ понять что-то самому — объяснить это другому.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 08.10.2007 (Пн) 8:10

Код: Выделить всё
var byteArray=Request.BinaryRead(Request.TotalBytes);
var myString=new String(byteArray);


?
I don't understand. Sorry.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 08.10.2007 (Пн) 8:21

Это если для обработки ASP-страниц использовать js. А через vbs никак?

Ну если никак, придется переписывать...
Лучший способ понять что-то самому — объяснить это другому.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 08.10.2007 (Пн) 8:35

Мне что то ничего в голову не приходит про VBScript на эту тему.
I don't understand. Sorry.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 08.10.2007 (Пн) 8:48

Все равно не пашет. Код
Код: Выделить всё
Response.AddHeader("pragma", "no-cache");
Response.AddHeader("cache-control", "private");
Response.CacheControl = "no-cache";

var byteArray=Request.BinaryRead(Request.TotalBytes);
var myString=new String(byteArray);
Response.write(myString);
возвращает такое:
Код: Выделить всё
поскипано

<li>???:<br>
Я идиот! Убейте меня, кто-нибудь!? Microsoft JScript (0x800A138D)<br><b>"byteArray" - Я идиот! Убейте меня, кто-нибудь! ??</b><br><b>/test/connect2.asp, line 27</b><br>
</li>

поскипано
line 27 это var myString=new String(byteArray);
Работаю через MSXML2.XMLHTTP, поэтому выяснить, что скрывается за вопросительными знаками, не могу.
Последний раз редактировалось Antonariy 08.10.2007 (Пн) 8:57, всего редактировалось 2 раз(а).
Лучший способ понять что-то самому — объяснить это другому.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 08.10.2007 (Пн) 8:55

Странные вещи пишут про эту ошибку, 0x800A138D



http://groups.google.com/group/microsof ... 1%26&fwc=1
I don't understand. Sorry.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 08.10.2007 (Пн) 8:58

И кстати, JS case-sensitive, поэтому не Response.wrie, а Response.Write :)
I don't understand. Sorry.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 08.10.2007 (Пн) 8:59

Байтовый массив собственно содержит строку <root></root>. Отправляю так:
Код: Выделить всё
Public Sub QueryServer(Request As MSXML2.XMLHTTP, Data() As Byte, ErrNumber As Long, ErrDesc As String)
Dim RespStr As String
    On Error GoTo errh:
    Request.open "POST", lAddress, True
    Request.setRequestHeader "Content-Type", "image/gif;"
    Request.send Data
    Exit Sub
errh:
    ErrNumber = Err.Number
    ErrDesc = Err.Description
End Sub
Каким еще образом можно отправить на сервер xml-документ и там загрузить его в DomDocument?
Лучший способ понять что-то самому — объяснить это другому.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 08.10.2007 (Пн) 9:18

Отсылать его не как image/gif?
I don't understand. Sorry.

Gloom
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 200
Зарегистрирован: 23.11.2004 (Вт) 15:57
Откуда: СПб

Сообщение Gloom » 08.10.2007 (Пн) 9:37

Код: Выделить всё
lngCount = Request.TotalBytes
If lngCount > 0 Then
   Set Stream = CreateObject("ADODB.Stream")
   Stream.Type = 1 'adTypeBinary
   Stream.Open
   Stream.Write Request.BinaryRead(lngCount)
   Stream.Position = 0
   Stream.Type = 2 'adTypeText
   Stream.Charset = "windows-1251"
   Response.Write Stream.ReadText
End If

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 08.10.2007 (Пн) 9:49

Gloom
Уже пробовал, не пашет.

ADD: Пробовал без Charset. Вот где собака порылась... :)

RayShade
А как? И как его потом выдрать из Response? Там же только BinaryRead.
Лучший способ понять что-то самому — объяснить это другому.

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 16.10.2007 (Вт) 0:21

В pure asp upload и в motobit компоненте есть пример решения без спец компонен.

А я делал проще. Через StrConv с vbUnicode

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 16.10.2007 (Вт) 8:46

В vbscript нет StrConv :)
Лучший способ понять что-то самому — объяснить это другому.

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 16.10.2007 (Вт) 12:57

2 Antonariy:

Antonariy писал(а):В vbscript нет StrConv


Дык а я о чём !

ALX_2002 писал(а):В pure asp upload и в motobit компоненте есть пример решения без спец компонен.

А я делал проще. Через StrConv с vbUnicode


Аааа... Виноват, не развёрнуто написал ответ. :roll: Имелось в виду, что те компоненты, которые я описал выше как раз не используют сторонних DLL, а я как раз решил не париться и сделать свою компоненту с StrConv :)

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 16.10.2007 (Вт) 13:43

По условиям задачи левых компонент быть не должно.
Лучший способ понять что-то самому — объяснить это другому.


Вернуться в ASP и VBScript

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList