Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Web Ирбис и Z-Ирбис :  ИРБИС Irbis
 
Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: Куделя (IP-адрес скрыт)
Дата: 10, October, 2008 10:32

1) Если IMAGE_FILE_DOWNLOAD=1, все нормально - выходит диалог сохранения. А вот при указании IMAGE_FILE_DOWNLOAD=0 ничего не выдается. Вообще. Т.е. файл не открывается браузером, но и сообщения об ошибке нет. Файл PDF, adobereader на машине есть. Что-то не так у меня с настройками сервера или...?

2) Если IMAGE_FILE_DOWNLOAD=1, диалог сохранения в Opere заменяет расширение файла на EXE. В IE и Firefox все нормально.

3) Просьба доработать логирование этой команды записью имени выгруженного клиентом файла.

Иркутская ОГУНБ
ИРБИС64.21Турбо
WebИРБИС-PHP



Редактировано 1 раз. Последний раз 25.01.2010 17:01 пользователем Кирилл Соколинский (СЗТУ).

Re: Команда шлюза C21COM=2
Пользователь: iLq (IP-адрес скрыт)
Дата: 25, January, 2010 14:49

Тему новую создавать не буду - по данной тематике уже и так много веток открыто. Но ответа на свой вопрос не нашел.
Хочу попробовать использовать для доступа к внешним объектам команду C21COM=2. Пока испаользуется просто доступ [...doc]
Для тестирования скопировал документ 1.doc в папку IBIS, чтобы использовать ссылку, как описано в документации: "Для файла из текущей базы данных, заданной параметрами I2DBN P21DBN, этот путь может начинаться с . (Например IMAGE_FILE=.doclad99.doc)"
Пишу ссылку:
h__p://ilq/cgi-bin/irbis64r_72/cgiirbis_64.exe?C21COM=2&I21DBN=IBIS&P21DBN=IBIS&IMAGE_FILE=.1.doc

Выдает:
FILE NOT EXISTS

В чем может быть проблема?



Редактировано 1 раз. Последний раз 25.01.2010 14:52 пользователем iLq.

Re: Команда шлюза C21COM=2
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 25, January, 2010 16:46

Здесь не требуется точки перед именем файла. Она позволяет модифицировать путь, но не обязательна. Чтобы быстрее в этом разобраться рекомендую познакомиться с примерами команд в новой документации.

Доработка C21COM=2
Пользователь: Куделя (IP-адрес скрыт)
Дата: 18, January, 2010 12:32

Очень хотелось бы чтобы данная команда в режиме IMAGE_FILE_DOWNLOAD=0 для файлов pdf получила еще один именованный параметр для перехода к конкретной странице документа. В самом стандарте уже есть его поддержка в виде #page=NNN или &page=NNN

Иркутская ОГУНБ
ИРБИС64.21Турбо
WebИРБИС-PHP

Re: Доработка C21COM=2
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 18, January, 2010 12:51

Уточните, пожалуйста, каким именно приложением должен интерпретироваться этот параметр сотроки запроса.



Редактировано 1 раз. Последний раз 18.01.2010 12:52 пользователем Кирилл Соколинский (СЗТУ).

Re: Доработка C21COM=2
Пользователь: Куделя (IP-адрес скрыт)
Дата: 19, January, 2010 08:26

Я так полагаю - Adobe Acrobat Reader. Он родной для стандарта и поддерживает эти функции

Иркутская ОГУНБ
ИРБИС64.21Турбо
WebИРБИС-PHP

Re: Доработка C21COM=2
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 19, January, 2010 12:43

Максим Викторович, может быть я не совсем верно понял идею, но если единственной задачей WEB ИРБИС является формирование гиперссылки с параметром page, то требуется лишь незначительно модифицировать формат ofinal_W.pft и определить источник данных о странице для перехода. Поименованные параметры – это параметры, интерпретируемые WEB ИРБИС, которым соответствуют метки виртуальных полей. Поскольку WEB ИРБИС не работает с PDF файлами, то и параметр page едва ли может иметь значение для его работы.

Re: Доработка C21COM=2
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 19, January, 2010 13:59

Я хотел бы напомнить наш разговор что веб-ирбис не правильно отдает ссылки на файлы из 951 поля, и в некоторых браузерах (опера) они не открываються

Re: Доработка C21COM=2
Пользователь: Куделя (IP-адрес скрыт)
Дата: 24, January, 2010 07:12

Кирилл Соколинский (СЗТУ) написал(а):
-------------------------------------------------------
> если единственной задачей WEB ИРБИС
> является формирование гиперссылки с параметром
> page, то требуется лишь незначительно
> модифицировать формат ofinal_W.pft и определить
> источник данных о странице для перехода.

Нет. Я говорю именно об использовании команды выдачи по запросу файла, который находится в директории не доступной для веб-сервера. Прямая гиперссылка конечно сработает. Например:
http://gpntb.ru/win/inter-events/crimea2009/disk/47.pdf#page=2.
Но то о чем я говорю:
http://irabis.irklib.ru/scripts/irbis64r_61/cgiirbis_64.exe?C21COM=2&I21DBN=GAZET&P21DBN=GAZET&Image_file_name=c:%5Cgazetten%5Catel_1906_001.pdf#page=2&IMAGE_FILE_DOWNLOAD=0
заставляет выдавать AcrobatReader сообщение об ошибке. Хотя и не мешает открытию первой страницы файла в браузере. Если же вместо # использовать разделитель & он просто молча игнорируется, по понятным причинам.

Иркутская ОГУНБ
ИРБИС64.21Турбо
WebИРБИС-PHP

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 25, January, 2010 20:05

Максим Викторович, если WEB ИРБИС позволяет беспрепятственно дополнить строку запроса нужными параметрами(#page,&page), то какие у Вас пожелания относительно его работы? Вы считаете, что помимо параметров Acrobat в строке запроса не должно быть никаких других?..

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 25, January, 2010 20:11

Попробуйте загрузить по запросу файла, который находится в директории не доступной для веб-сервера в браузере Опера.
диалог сохранения заменяет расширение файла *.DOC, *.PDF *.XXX на EXE.
Я так понял Максим Викторович говорит именно об этом

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: Куделя (IP-адрес скрыт)
Дата: 26, January, 2010 03:18

Нет. С расширениями у меня все нормально. Я говорю о том, что веб-ирбис при использовании механизма выдачи файлов с сервера с помощью команды c21com=2 (и имеющей два параметра image_file_name и image_file_download) игнорирует неизвестный ему параметр (page) или неверно передает (?) AcrobatReader`у.
В приведенных двумя постами выше ссылках именно это и иллюстрируется:
1. Ссылка "прямая" без использования команды c21com, т.е файл pdf доступен вне зависимости от ирбиса. Параметр PAGE работает, т.е - документ открывается на указанной странице
2. Ссылка "внутренняя", т.е. файл находится в директории, которая абсолютно никак не "расшарена" для веба и доступ к нему осуществляется только посредством запроса c21com=2 серверу веб-ирбиса. В этом случае параметр &PAGE просто игнорируется, поскольку амперсанд есть разделитель параметров самого веб-ирбиса, а параметра page он не знает. Вариант #PAGE приводит к выдаче акробатом сообщения "This operation is not allowed" и файл открывается на первой странице.

Иркутская ОГУНБ
ИРБИС64.21Турбо
WebИРБИС-PHP



Редактировано 1 раз. Последний раз 26.01.2010 06:03 пользователем Куделя.

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: iLq (IP-адрес скрыт)
Дата: 26, January, 2010 09:13

Кирилл, спасибо - нашел документацию новую - посмотрел, поэкспериментировал - заработало. Safe-режим еще сначала не работал - все пропускал; обновил web-ирбис - заработал и он.
И к слову еще один вопрос: при команде "2" в LOGDB не попадает параметр IMAGE_FILE_NAME - это так и должно быть? Или в новых версиях - должно попадать?

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: iLq (IP-адрес скрыт)
Дата: 26, January, 2010 09:35

Еще одно уточнение прошу сделать - чтобы в голове все улеглось ;)
Вот эти пути Safe_File_Paths= - они для cgiirbis_64.exe ? То есть я указываю C:\books\ Потом пишу IMAGE_FILE_NAME=2.doc ;cgiirbis_64.exe берет из C:\books\ файл 2.doc и уже подсовывает пользователю в web - правильно?

Еще вопрос - скорее к разработчикам: есть ли возможность открывать файлы через команду "2" под тем же именем, которое указано в параметре IMAGE_FILE_NAME, а не по подобию cgiirbis_64.exe(2).doc ?



Редактировано 1 раз. Последний раз 26.01.2010 11:04 пользователем iLq.

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 26, January, 2010 16:08

iLq написал(а):
-------------------------------------------------------
> Еще одно уточнение прошу сделать - чтобы в голове
> все улеглось ;)
> Вот эти пути Safe_File_Paths= - они для
> cgiirbis_64.exe ? То есть я указываю C:\books\
> Потом пишу IMAGE_FILE_NAME=2.doc ;cgiirbis_64.exe
> берет из C:\books\ файл 2.doc и уже подсовывает
> пользователю в web - правильно?

Да, совершенно верно.


> Еще вопрос - скорее к разработчикам: есть ли
> возможность открывать файлы через команду "2" под
> тем же именем, которое указано в параметре
> IMAGE_FILE_NAME, а не по подобию
> cgiirbis_64.exe(2).doc ?

Это ошибка. В следующем обновлении я её устраню.

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 26, January, 2010 16:15

Куделя написал(а):
-------------------------------------------------------
> Нет. С расширениями у меня все нормально. Я говорю
> о том, что веб-ирбис при использовании механизма
> выдачи файлов с сервера с помощью команды c21com=2
> (и имеющей два параметра image_file_name и
> image_file_download) игнорирует неизвестный ему
> параметр (page) или неверно передает (?)
> AcrobatReader`у.

Уточните, пожалуйста, какими будет "верный" способ передачи WEB ИРБИС параметра AcrobatReader`у. Если WEB ИРБИС не должен игнорировать этот параметр, то как он должен его обрабатывать?



Редактировано 1 раз. Последний раз 26.01.2010 16:16 пользователем Кирилл Соколинский (СЗТУ).

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: Куделя (IP-адрес скрыт)
Дата: 27, January, 2010 07:49

iLq написал(а):
-------------------------------------------------------
> И к слову еще один вопрос: при команде "2" в LOGDB
> не попадает параметр IMAGE_FILE_NAME

Надо добавить
DOWNLOAD_FILE=1102
в секцию [Parametrs]

Кирилл Соколинский (СЗТУ) написал(а):
-------------------------------------------------------
> Уточните, пожалуйста, какими будет "верный" способ
> передачи WEB ИРБИС параметра AcrobatReader`у.
Если бы я имел представление о механизме работе C21COM, может быть я и смог уточнить

Иркутская ОГУНБ
ИРБИС64.21Турбо
WebИРБИС-PHP

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: iLq (IP-адрес скрыт)
Дата: 27, January, 2010 08:22

> Надо добавить
> DOWNLOAD_FILE=1102
> в секцию [Parametrs]

Максим, не получилось. Буду ждать новой версии с исправлением от Кирилла. В принципе не критично. Имена файлов у нас все равно не несут какой-либо информации.

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 27, January, 2010 10:32

iLq написал(а):
-------------------------------------------------------
> еще один вопрос: при команде "2" в LOGDB
> не попадает параметр IMAGE_FILE_NAME - это так и
> должно быть? Или в новых версиях - должно
> попадать?

Какую версию ты используешь? В WEB 9.1 значение IMAGE_FILE_NAME(точнее полный путь к файлу) записывается в поле 1102 LOGDB.



Редактировано 1 раз. Последний раз 27.01.2010 10:45 пользователем Кирилл Соколинский (СЗТУ).

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: iLq (IP-адрес скрыт)
Дата: 27, January, 2010 12:23

Использую 9.1 - иначе не работал Safe_File_Download=1
Поле и правда существует (добавил в РЛ logdb.ws).
Не подумал посмотреть запись целиком.
Спасибо.

Re: Доработка C21COM=2
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 02, February, 2010 02:43

Konstantinus написал(а):
-------------------------------------------------------
> веб-ирбис не
> правильно отдает ссылки на файлы из 951 поля, и в
> некоторых браузерах (опера) они не открываються


Я пришел к выводу, что обеспечить сохранение имени файла и его открытие в браузере без жертв нельзя. Как мы знаем, имя файла задаётся в HTTP заголовке Content-Disposition. Но если он оказывался задан, файл DJVU открываться непосредственно в IE переставал. Установка disposition-type в inline то вызывала появление диалога сохранения, то просто препятствовала открытию DJVU. (Спецификация, на которую я ориентировался: [www.ietf.org])

Если ни у кого нет идей относительно способа решения дилеммы, то при IMAGE_FILE_DOWNLOAD=0, имя файла сохраняться не будет. Файл будет открываться в браузере. При неизвестном типе будет задаваться MIME тип text/plain. При IMAGE_FILE_DOWNLOAD=1 имя файла будет гарантированно передаваться в диалог сохранения.

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: Konstantinus (IP-адрес скрыт)
Дата: 02, February, 2010 09:19

Свои пять копеек вставлю.
Тестировал на "голой" Винде ХР. Только виндовс+драйверы (ни Ворда, Ни Акробата):
Хром 4,0
Опера 10,10
ФФ 3,6
ИЕ 6,0
Открывал эталонную ссылку где два документа вложены в недоступную для вебсервера.

Все браузеры предложили сохранить файл с неизвестным разрешением.
Веб-Ирбис64 9.1.

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 02, February, 2010 12:22

Как я уже писал, при IMAGE_FILE_DOWNLOAD=0 неизвестный WEB ИРБИС файл будет выдаваться браузеру как текстовый.

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: iLq (IP-адрес скрыт)
Дата: 29, July, 2010 10:09

Что-то нигде в описании не нашел про IMAGE_FILE_DOWNLOAD. Где почитать?

С уважением, Лазарев Илья (Научная Библиотека ВятГУ)

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 29, July, 2010 14:32

Уточни, какая информация требуется, и я дополню документацию.
Сейчас там написано:

IMAGE_FILE_DOWNLOAD – флаг, заставляющий браузер не открыть скачанный файл, а вызвать диалог с предложением открыть или сохранить его на диск. По умолчанию 0.

Если конкретно, то IMAGE_FILE_DOWNLOAD=1 добавляет HTTP заголовок
Content-Disposition: attachment; filename=file.doc
, который инициирует в браузере появление диалога сохранения файла.

Re: Режим выгрузки файлов через WEB ИРБИС (C21COM=2)
Пользователь: iLq (IP-адрес скрыт)
Дата: 29, July, 2010 15:36

Понял, я этого даже не нашел. Плохо искал видимо. Этого хватит, спасибо.

С уважением, Лазарев Илья (Научная Библиотека ВятГУ)



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.