|
показать stream в iframe
|
|||
---|---|---|---|
#18+
есть класс со свойством Property TextOfLTheoryFile As %Stream.GlobalBinary; Код: vbnet 1. 2. 3. 4. 5. 6.
на зен страничке есть тэйблпэйн, при выборе данных в тэблпэйне в контроллер записывается айди класса. на этой же страничке есть <iframe hidden=true/>, там хочется отобразить поток. Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
в textfile сидит %Oid. так вот имея на руках %Oid как засунуть поток в iframe, в виде страницы или файла? в таком варианте fileIframe.setProperty("src",urlfile+textfile) поток только скачивает на машину %CSP.StreamServer.cls, а хочется чтобы красиво отображался в iframe ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2012, 10:48 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
http://docs.intersystems.com/cache20122/csp/docbook/DocBook.UI.Page.cls?KEY=GZCP_various_components#GZCP_graphics_static пишут что можно но у меня не получается ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2012, 12:10 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
в Property TextOfLTheoryFile As %Stream.GlobalBinary лежит .doc документ, можно .mht. может есть другие варианты отображения на zen? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 08:04 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
The only downside to this solution is that if streams are being retrieved from the database, two queries are required: one to determine the type of data being sent and a second to send the actual data. The overhead in this case is almost exclusively the network overhead, as the data volume is trivial. Therefore, the best practice for rendering data streams retrieved from the database is as follows: 1 Define the template display page with both an <iframe> and an <image>. Both components are initially hidden (hidden='true'). 2 Query to find out what type of data is to be rendered. 3 Based on this query, set the src attribute of either the <iframe> or the <image> to the URI of the data stream and set the corresponding component to be visible (hidden='false') 4 When the page is closing, reset the displayed component to be hidden (hidden='true') so that the page is ready for the next data stream. мне бы пример этого решения... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 13:00 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
студент22в Property TextOfLTheoryFile As %Stream.GlobalBinary лежит .doc документ, можно .mht. может есть другие варианты отображения на zen? doc, думаю вряд ли получиться в IFrame да и с MHT могут проблемы возникнуть особенно если это не IE ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 14:02 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
перечитал внимательнее, понял что у вас все работает, но проблема в том что файлы скачиваются когда как вы хотите чтобы они отобразились там попробуйте с файлами htm, txt как они будут себя вести там, потому как doc скорее всего должен просто скачаться, возможно еще PDF получится встроить ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 14:21 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
DAiMor, реклама все врет пробовал разные форматы, все загружаются в файл %CSP.StreamServer.cls ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 14:26 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
эхххх, не видать мне зачета кажется, придется топать на экзамен... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 14:27 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
студент22DAiMor, реклама все врет пробовал разные форматы, все загружаются в файл %CSP.StreamServer.cls Тогда проверяй правильный ли у тебя в стриме сохранен ContentType, потому как загружать как файл или нет решает браузер основываясь на его типе ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 14:41 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
DAiMor, а как это сделать? Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
do stream.SetAttribute("ContentType","application/msword") так? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 15:02 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
студент22эхххх, не видать мне зачета кажется, придется топать на экзамен... А какой вуз? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 15:09 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
Шваров Евгений, www.enu.kz ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 15:17 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
студент22DAiMor, а как это сделать? Код: javascript 1. 2. 3. 4. 5.
do stream.SetAttribute("ContentType","application/msword") так? Я с ZEN не работал, поэтому примером кода не помогу. Но тут имелся ввиду ContentType заголовока HTTP-ответа. Поищи, как он выставляется в ZEN... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 18:15 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
neznauстудент22DAiMor, а как это сделать? Код: javascript 1. 2. 3. 4. 5.
do stream.SetAttribute("ContentType","application/msword") так? Я с ZEN не работал, поэтому примером кода не помогу. Но тут имелся ввиду ContentType заголовока HTTP-ответа. Поищи, как он выставляется в ZEN... и, скорее всего нужен один из этих типов http://msdn.microsoft.com/en-us/library/ms526971%28v=exchg.10%29.aspx Твой application/msword наоборот предложит в браузере либо открыть вордом либо скачать.. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 18:18 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
студент22DAiMor, а как это сделать? Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
do stream.SetAttribute("ContentType","application/msword") так? Да, похоже что верно делаешь но как я уже неоднократно писал, с такими файлами этот номер не пройдет попробуй txt, html, xml, ну и в крайнем случае pdf только если плагин имеется, если сам браузер может открыть его так и поставить верные типы ContentType, браузер в некоторых случаях его сам передает, либо нужно угадать самому ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 18:58 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
neznau, пробовал несколько вариантов contenttype не помогает ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2012, 07:10 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
DAiMor, пробовал, не работает. работает только pdf, и тот, только через плагин, да и не в любом браузере, хром вообще не понимает его ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2012, 07:12 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
студент22 , Class test.b Extends %Persistent { Property text As %GlobalBinaryStream; } Class test.a Extends %ZEN.Component.page { /// Этот блок Style содержит определение CSS-стиля страницы. XData Style { <style type="text/css"> </style> } XData Contents [ XMLNamespace = " http://www.intersystems.com/zen" ] { <page xmlns=" http://www.intersystems.com/zen" title=""> <iframe id="if" width="1200px" height="800px"/> </page> } Method %OnAfterCreatePage() As %Status { set stream=##class(test.b).%OpenId(1).text do stream.SetAttribute("ContentType","application/pdf") set ..%GetComponentById("if").src="%25CSP.StreamServer.cls?STREAMOID="_..Encrypt(stream.%Oid()) ; или так set ..%GetComponentById("if").src="%25CSP.StreamServer.cls?CONTENTTYPE=application/pdf&STREAMOID="_..Encrypt(stream.%Oid()) Quit $$$OK } } txt, pdf, doc, docx отображаются непосредственно в браузере при наличии соответствующих плагинов (проверял в IE9). Для файлов MS Office, возможно, дополнительно понадобится в реестре изменить некоторые параметры (на стороне клиента ): Ключи для возможности встраивания файлов MS Office в WebBrowser Убираем диалоговое окно выбора действий с загружаемыми в WebBrowser файлами MS Office ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2012, 09:00 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
студент22DAiMor, пробовал, не работает. работает только pdf, и тот, только через плагин, да и не в любом браузере, хром вообще не понимает его PDF все таки работает, значит делаете все верно, а с чем не получилось ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2012, 09:38 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
DAiMor, проблема была в том что браузер не понимал тип потока (тестил в мозиле, хроме и ИЕ) помогло вот это %25CSP.StreamServer.cls?CONTENTTYPE=application/pdf&STREAMOID= ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2012, 06:50 |
|
показать stream в iframe
|
|||
---|---|---|---|
#18+
servit, добавил третий класс где открывался пдф по вашему примеру и перенес его ссылку в первый класс. во втором классе загружал в с свойство сам поток. как писал выше проблема была в CONTENTTYPE=application/pdf СПАСИБО ВСЕМ ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2012, 06:53 |
|
|
start [/forum/topic.php?fid=39&fpage=32&tid=1557346]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 261ms |
total: | 394ms |
0 / 0 |