powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
25 сообщений из 28, страница 1 из 2
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #37012359
Фотография barl_alibek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть класс, там есть свойство изображение и скл-запрос с изображением
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Property fotoOS As %Stream.GlobalBinary;
Query ByIinStudent(name As %String = "") As %SQLQuery(CONTAINID =  1 , SELECTMODE = "RUNTIME") [ SqlName = Student_Sample_By_Name, SqlProc ]
{
SELECT ID,fotoOS
FROM data.student
WHERE (iin %STARTSWITH :name)
ORDER BY iin
}
на csp вызываю запрос
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<csp:query name="query" classname="data.student" queryname="ByIinStudent"> 
<csp:while counter=queryRow Condition="query.Next()">
<table cellpadding="3">
<tr>
<td><b><div align="right"><font face="Arial" size="2" color="#333333"></font></div></b></td>
 <td><input type="image" value='#(query.Get("fotoOS"))#' height="200" width="100" readonly></td>
 </tr>
 </table>
</csp:while>
только не догоняю почему картинки нету? вроде все правильно
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #37012397
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что вы хотите сделать ? что у вас в поле хранится, которое вы пытаетесь вывести, ссылка к картинке или strem с картинкой, если ссылка то используйте тег <image>
если stream, то нужно просто вывести содержимое стрима, только нужно выводить по отдельной ссылке с указанием ContentType
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #37012407
Фотография barl_alibek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,

Хочу сделать профиль студента с картинкой. На зен работает. Но хочется и в csp. Хранится stream. DAiMorто нужно просто вывести содержимое стрима, только нужно выводить по отдельной ссылке с указанием ContentType
"Ссылка" вы имеете ввиду другую страничку? Если да то этот вариант тоже не подходит.
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #37012418
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
картинку которая хранится в стриме, в input выводить бессмысленно,
и как понял ZEN, то что вы ему пытались скормить, непонятно

есть еще вариант когда, можно, содержимое стрима закодировать в Base64, и вывести например так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<img src="data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAD
UUlEQVR42lWTWUwTURSGaUtIKY5QweISTUzceDGu0Rj1xURjTNQEE+ODGn0hPhBEQdqZztahBbrA
tFih1Fprh9IBiVLLErZSU7BUoS7VqNH44ovx0S0ovdfO4Ez04cw9Ofec7/5zzr15NEnkUxSVFx8O
bZ1x7nzHN6z9nOhnzOFwWCnECcKoEFbBRrrp6iF/XRvD0BoplkdTuAiIhtt3P3Fu+jJlKlkM1WoX
LFjVeSnpXrC94gV3ciJp1X0L1K7+NtDfvXdpj1TmmUwm8QTfLa867T+ceWTSwO5r5b87XNaDEoBr
v3p2Ai+AU1Qh5OiDGS4UXi4roAisQHBiYfJS2obAVPMyELYcGxViOIaKcLaNLXzadej5nBUBPXW6
hdYW0z4RQOYUXK2tUfr8QeXL0Kn4JKEBk7QWdtrrLggJJEmoCBxVCf50qIaaa0HABFkEPZaLNnGf
wPNFGV0u05Y554bvMQoBPLbxs9t9QydJpHP/KayRbsf+pG1NdgTTgDuGXa8dbS41ZtArxaQYT1Wl
HVqYaloGOcvJIan4X2MdViTl3vExbS+GPfXlvzzutj1LPch9HrYea59t0YIRtAAO+PQuIWYwNKik
Yty41Iuk/3TvMzsCB9HcQR7msgzgjZs7Z5rLQPR6PojeJW2d3oDCoG/IlwAYqlexbp/i9eB19ziu
BoMoAlrR03YZ0G8+0JFhS8EjuhD6zWfuCTEjppcBOKYX1bwaqA5MM2oYZ4pBy7XjrAyY7sPqU01F
cNZW/jtwZeXXVpt5u1RM4JhYzHFBddqz5/28fUU2NwngtVUbZUCE79o6x67/MYiXLiSbS8D9xp1v
I7znkLvDK07A5/MiT7mzdxMMAsdMqxaiWDHkgzePigBUXy9KTfdWeVKNSjjPrvv5uKkYxszlIHX7
eDLeVfkgbt30bt5eAlOOtT9nLRrI03szrOumOtcb4SrTSj2KKfr4nuUZ7kR8HFPAYXLlYqxRl43T
GjjTWAhHCC1MNK/+lWA0cJLRgfsh95G/N1H136z7+BCSuHMuMEGVLo4a1XCKKcuO0WXZBw1FcNig
hmPWbe8jIeeJpdFiCrkHguWUyM92NBKseBut8T92bfsw66z49IyrHH2T5CvlqeCYUvL/ANIZ7+oh
XSdWAAAAAElFTkSuQmCC">
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #37012430
Фотография barl_alibek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,

смысл есть. без запроса, если просто по аиди открывать то она выводиться, а вот запрос обидел, не хочет. даже если просто через <img name="fotoOS" cspbind="fotoOS" height="200" width="100"> выводиться. походу скл в каше такого не может.
DAiMorесть еще вариант когда, можно, содержимое стрима закодировать в Base64, и вывести например так это вообще страшная вещь.
а зен накормил чем-то "нестандартным". суть не в zen-е а в csp. точнее получиться ли через sql query вытащить
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #37012439
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вы видели, что вам сгенерировал ZEN в итоге, он оперерирует не SQL а объектами, и что то мне подсказывает что он там и сгенерирует именно то что я и предложил в последнем сообщении
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #37012444
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотрел исходный код компоненты ZEN которая выводит картинки, и заметил, что в вашем случае, генерируется специальная ссылка для вывода, содержимого стрима
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
If (..streamId '= "") {
		#; we are passed a stream id, we have to encode it
		Set tSrc = ##class(%CSP.Page).Link("%25CSP.StreamServer.cls?STREAMOID="_##class(%CSP.Page).Encrypt(..streamId))
}
ElseIf (..value '= "") {
		#; assume value is an encoded stream id
		Set tSrc = ##class(%CSP.Page).Link("%25CSP.StreamServer.cls?STREAMOID="_$ZCVT(..value,"O","URL"))
	}
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #37012447
Фотография barl_alibek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,
картинку ))))
Код: plaintext
1.
2.
3.
<td    height="150px">
<span id="zenlbl_59" class="zenLabel"  >Фото: </span><div class="zendiv" id="fotoOS" zen="59" style="width:120px;"><img id="image_59"  src="/csp/broker/images/spacer.gif"  width="120px" height="150px"    onclick="zenPage.getComponent(59).imageClick(event);" /></div>
</td>
это в исходнике странички. извините и в правду там у меня как объект идет
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #37012459
Фотография barl_alibek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,

пошарил у себя и ничего такого (ссылок) не нашел
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #37012463
Фотография barl_alibek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да и компоненты такой тоже не слышал и не видел. версия 2007 года у меня
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #37012475
Фотография barl_alibek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ы
догнал что за "ссылка" имеется ввиду
а код компоненты ZEN.Component.image.cls нашел тут Ы
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #37012638
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barl_alibek ,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<csp:query name="query" classname="data.student" queryname="ByIinStudent"> 
<csp:while counter=queryRow Condition="query.Next()">
<table cellpadding="3">
<tr>
<td><b><div align="right"><font face="Arial" size="2" color="#333333"></font></div></b></td>
 <td><image src="%25CSP.StreamServer.cls?STREAMOID=#(..Encrypt(query.Get("fotoOS")))#" height="200" width="100" readonly></td>
 </tr>
 </table>
</csp:while>
Проверил - работает.
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #37013882
Фотография barl_alibek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
работает просто великолепно

не сразу понял что имел ввиду DAiMor, потом догнал, спасибо DAiMor и servit
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #38529719
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам озадачился выводом картинки в CSP...

Класс/// Задача
Class ns.dat.tsk Extends %Persistent
{

/// Идентификатор
Property identifier As %String(COLLATION = "Exact");

/// Название
Property description As %String(COLLATION = "Exact", MAXLEN = 400);

/// Идентификатор логотипа
Property imgIdent As %String(COLLATION = "Exact", MAXLEN = 400);

/// identifier
Index identifier On identifier [ Data = identifier, Unique ];

/// img
Property img As %Stream.GlobalBinary;

}с аналогичным свойством...

Кусок страницы<div class='mvr_field_line'>

  <csp:SQLQUERY NAME='query' P1='#(rowid)#'>
  SELECT * FROM ns_dat.tsk WHERE ID = ?
  </csp:SQLQUERY>
  <CSP:IF CONDITION="query.Next()">
    <image src='%25CSP.StreamServer.cls?STREAMOID=#(..Encrypt(query.Get("img")))#' />
  </CSP:IF>

</div>Но картинка так и не появляется...
Вроде 1 в 1 повторил? Или что-то таки упустил?
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #38529798
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorесть еще вариант когда, можно, содержимое стрима закодировать в Base64, и вывести например так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<img src="data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAD
UUlEQVR42lWTWUwTURSGaUtIKY5QweISTUzceDGu0Rj1xURjTNQEE+ODGn0hPhBEQdqZztahBbrA
tFih1Fprh9IBiVLLErZSU7BUoS7VqNH44ovx0S0ovdfO4Ez04cw9Ofec7/5zzr15NEnkUxSVFx8O
bZ1x7nzHN6z9nOhnzOFwWCnECcKoEFbBRrrp6iF/XRvD0BoplkdTuAiIhtt3P3Fu+jJlKlkM1WoX
LFjVeSnpXrC94gV3ciJp1X0L1K7+NtDfvXdpj1TmmUwm8QTfLa867T+ceWTSwO5r5b87XNaDEoBr
v3p2Ai+AU1Qh5OiDGS4UXi4roAisQHBiYfJS2obAVPMyELYcGxViOIaKcLaNLXzadej5nBUBPXW6
hdYW0z4RQOYUXK2tUfr8QeXL0Kn4JKEBk7QWdtrrLggJJEmoCBxVCf50qIaaa0HABFkEPZaLNnGf
wPNFGV0u05Y554bvMQoBPLbxs9t9QydJpHP/KayRbsf+pG1NdgTTgDuGXa8dbS41ZtArxaQYT1Wl
HVqYaloGOcvJIan4X2MdViTl3vExbS+GPfXlvzzutj1LPch9HrYea59t0YIRtAAO+PQuIWYwNKik
Yty41Iuk/3TvMzsCB9HcQR7msgzgjZs7Z5rLQPR6PojeJW2d3oDCoG/IlwAYqlexbp/i9eB19ziu
BoMoAlrR03YZ0G8+0JFhS8EjuhD6zWfuCTEjppcBOKYX1bwaqA5MM2oYZ4pBy7XjrAyY7sPqU01F
cNZW/jtwZeXXVpt5u1RM4JhYzHFBddqz5/28fUU2NwngtVUbZUCE79o6x67/MYiXLiSbS8D9xp1v
I7znkLvDK07A5/MiT7mzdxMMAsdMqxaiWDHkgzePigBUXy9KTfdWeVKNSjjPrvv5uKkYxszlIHX7
eDLeVfkgbt30bt5eAlOOtT9nLRrI03szrOumOtcb4SrTSj2KKfr4nuUZ7kR8HFPAYXLlYqxRl43T
GjjTWAhHCC1MNK/+lWA0cJLRgfsh95G/N1H136z7+BCSuHMuMEGVLo4a1XCKKcuO0WXZBw1FcNig
hmPWbe8jIeeJpdFiCrkHguWUyM92NBKseBut8T92bfsw66z49IyrHH2T5CvlqeCYUvL/ANIZ7+oh
XSdWAAAAAElFTkSuQmCC">


Вот это как сделать?
Как перекодировать стрим в Base64?
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #38529808
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #38529844
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ymka2007 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=892703&msg=11560448
Пробую
Код: html
1.
<img src='data:image/png;base64,#(##class(%Net.MIMEWriter).EncodeStreamBase64(obj.img.Read()))#' />


Получаю
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
На странице возникла ошибка исполнения
 Ошибка: <METHOD DOES NOT EXIST>%csp00002+98^air.nsadm.tsk.edit.page.1 *EncodeStreamBase64,%Net.MIMEWriter
 Номер Ошибки: 5002
 CSP-Cтраница: /nsadm/tsk/edit/page.csp
 Область: VERS
 Класс: air.nsadm.tsk.edit.page
 Программа: air.nsadm.tsk.edit.page.1
 Расположение: %csp00002+98
 Line:  Write "<img src='"_($zconvert(..Link("data:image/png;base64,"_(##class(%Net.MIMEWriter).EncodeStreamBase64(obj.img.Read()))),"O","HTML"))_"'/>"



Пробую
Код: html
1.
<img src='data:image/png;base64,#(##class(%Net.SMTP).EncodeStreamBase64(obj.img.Read()))#' />


Получаю
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
На странице возникла ошибка исполнения
 Ошибка: <METHOD DOES NOT EXIST>%csp00002+98^air.nsadm.tsk.edit.page.1 *EncodeStreamBase64,%Net.SMTP
 Номер Ошибки: 5002
 CSP-Cтраница: /nsadm/tsk/edit/page.csp
 Область: VERS
 Класс: air.nsadm.tsk.edit.page
 Программа: air.nsadm.tsk.edit.page.1
 Расположение: %csp00002+98
 Line:  Write "<img src='"_($zconvert(..Link("data:image/png;base64,"_(##class(%Net.SMTP).EncodeStreamBase64(obj.img.Read()))),"O","HTML"))_"'/>"



Или это просто нужно посмотреть те методы, дабы потом писать что-то самому?
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #38529988
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa
Код: vbnet
1.
Line:  Write "<img src='"_($zconvert(..Link("data:image/png;base64,"_(##class(%Net.SMTP).EncodeStreamBase64(obj.img.Read()))),"O","HTML"))_"'/>"

EncodeStreamBase64 на входе ожидает объект потока (наследника класса %Stream.Object), а не строку.
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #38530071
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servit EncodeStreamBase64 на входе ожидает объект потока (наследника класса %Stream.Object), а не строку.
У меня даже метода такого нет...

Есть какой-то вариант для sql-запроса?
Это просто т.с. для развития, а то мало ли, может так же пригодиться.
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #38530130
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaУ меня даже метода такого нет...Какая версия?
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #38530387
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaУ меня даже метода такого нет...Сомневаюсь, что метода действительно нет, так как даже в версии 5.2 он есть .
Вы его не можете вызвать непосредственно, так как он приватный. Но посмотреть его код и на его основе сделать свой код - вполне можете.
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #38530395
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servitКакая версия?
Cache for Windows (x86-64) 2012.2.2 (Build 801) Fri Dec 7 2012 12:08:23 EST
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #38530397
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servitkrvsaУ меня даже метода такого нет...Сомневаюсь, что метода действительно нет, так как даже в версии 5.2 он есть .
Я его в документации искал... В списке методов его не видел...

servitВы его не можете вызвать непосредственно, так он приватный. Но посмотреть его код и на его основе сделать свой код - вполне можете.
Может потому в списке методов и не видел... Свое пока делать не собираюсь, т.к. стараюсь использовать только то, что есть в "стандарте".
Если чего-то нет - значит нет. А если есть, что использовать - использую.
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #38530407
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaЯ его в документации искал... В списке методов его не видел...В студии поищите: он должен быть с флагами [Private, Internal]
...
Рейтинг: 0 / 0
кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
    #38530409
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaЕсть какой-то вариант для sql-запроса?demo.test.clsClass demo.test Extends %Persistent
{

Property stream As %Stream.GlobalBinary;

/// Write stream -- base64 encoded
ClassMethod EncodeStreamBase64(stream As %Stream.Object) As %String
{
  ; process stream in groups of 1023 - 
  ; number arbitrary but must be divisible by 3 and 57=76/4*3
  Set out=""
  Do stream.Rewind()
  While 'stream.AtEnd {
    Set len=513  ##; text must be divisible by 3 and 76
    Set text=stream.Read(.len)
    quit:len'>0
    Set out=out_$system.Encryption.Base64Encode(text)
  }
  Quit out
}

}demo.csp<html>
  <head>
    <title>For krvsa</title>
  </head>
  <body>
    <script language='Cache' runat='Server'>set rowid=1</script>

    <csp:sqlquery name='query' p1='#(rowid)#'>SELECT %object(stream) as OREF_stream,stream as OID_stream FROM demo.test WHERE %id = ?</csp:sqlquery>
    <csp:if condition="query.Next()">
      <image src='%25CSP.StreamServer.cls?STREAMOID=#(..Encrypt(query.Get("OREF_stream").%Oid()))#'/><br>
      <image src='%25CSP.StreamServer.cls?STREAMOID=#(..Encrypt(query.Get("OID_stream")))#'/><br>
      <image src='data:image/png;base64,#(##class(demo.test).EncodeStreamBase64(query.Get("OREF_stream")))#'/>
    </csp:if>
  </body>
</html>
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / кто пробовал вытащить в сsp изображение через скл-запрос? подскажите как?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]