|
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
|
|
Положить Файл На Сервер24.01.2013, 20:11. Показов 16684. Ответов 17
Метки нет (Все метки)
Товарищи, добрый день!
Возникла проблема, взываю к помощи. Есть, значит, лотусная база, предназначенная для работы через броузер. Короче, вебная база. Есть некий процесс (электронная подпись), который сейчас работает так: 1. открывается форма с Java апплетом 2. апплету в параметрах подаётся URL на файл, который надо подписать (вида http://SERVER/PATH.nsf/0/UNID/$file/FILENAME.gif) 3. после трастинга апплет всё это дело скачивает в TEMP директорию локального компа (попутно с java классами) 4. апплет модифицирует исходный файл В результате у нас есть файл лежащий в локальной TEMP папке. Вопрос: как мне этот файл забрать обратно на сервер, приложить к документу и т.д. У апплета есть параметр, куда cслать POST мессыдж с контетном файла, после того, как он успешно был модифицирован апплетом. Параметр тоже подаётся в виде URLa Вот не могу сообразить, что бы туда такое подать, что бы файл оказался на серваке, а уж потом серверным агентом я его выцарапаю откуда надо и прилеплю куда надо. Заранее спасибо за идеи!
0
|
|
| 24.01.2013, 20:11 | |
|
Ответы с готовыми решениями:
17
Как не положить сервер используя post? Положить базу данных на удаленный сервер Положить ресурсы в jar файл |
|
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
|
|
| 24.01.2013, 20:53 | |
|
Не понял 2 вещи.
1. В процессе подписания нам нужно получить саму подпись, грубо говоря, хэш некоторых данных. Для чего нам обратно вкладывать файл? 2. Для чего извлекать файл, если его (если это файл) можно из Java получить по url, тут же подписать, и записать подпись куда следует?
0
|
|
|
1 / 1 / 0
Регистрация: 01.10.2006
Сообщений: 615
|
|
| 25.01.2013, 11:03 | |
|
а приаттачить (аплоад) в какой-нибудь документ через апплет можно ?
0
|
|
|
0 / 0 / 0
Регистрация: 28.05.2005
Сообщений: 347
|
|
| 25.01.2013, 18:58 | |
|
Может AJAX развернуть и потом агентом?
http://sitear.ru/material/ajax-zagruzka-fa...uery-iframe-php http://habrahabr.ru/post/50223/
0
|
|
|
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
|
|
| 26.01.2013, 19:28 | |
|
подумать только, я эту задачу недавно поставил криптопровайдеру
поставь скрытый аплоад, где будет путь к твоему модифицированному файлу и после нажатия кнопочки "подписать/проверить" всё это дело сабмитится
0
|
|
|
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
|
|
| 27.01.2013, 11:56 | |
|
Прошу прощения за молчание на выходных: пароль дома не запомнен в форум, а скидывать пароль не хотелось.
Ну и да: пятница вечер не самое лучшее время для создания темы VladSh >В процессе подписания нам нужно получить саму подпись, грубо говоря, хэш некоторых данных. Тут речь идёт не о лотусном подписывании, а принятой в Латвии электронной подписи. В результате процесса подписывания, исходный файл вкладывается в файл .edoc (по сути zip) с метаданными, хешем и т.д. Короче, после подписания получается новый файл, внутри которого лежит наш исходный. Kee_Keekkenen >а приаттачить (аплоад) в какой-нибудь документ через апплет можно? У апплета есть параметр, куда ложить (аплодить) результирующий файл. Я, конечно, могу подать урл на документ, но апплет не сможет его обработать ибо о специфике LN ничего не знает. Т.е. если подавать URL, то мне нужно подавать URL на какую-то папку на сервере, куда можно свободно аплодить файлы. Собственно, как бы часть вопроса и состояла в этом: как в Domino организовать папку, куда можно свободно аплодить файлы. NetWood >Может AJAX развернуть и потом агентом? Посмотрел, что-то похожее. Поставил в очередь. ToxaRat >поставь скрытый аплоад, где будет путь к твоему модифицированному файлу Вот с этого, я, пожалуй, и попробую начать.
0
|
|
|
0 / 0 / 0
Регистрация: 15.01.2009
Сообщений: 57
|
|
| 27.01.2013, 13:15 | |
|
Если у апплета есть доступ и к файлу и к сети, а судя по всему он есть. То я бы сделал на домине агента, либо сервлет, которому апплет будет POSTом отправлять файл и некий ключ (UNID?). По этому ключу агент-сервлет понимает где исходный документ и к чему надо аттачить полученный файл.
Примерно так. Вопросами видятся: 1. доступ к файловой системе из апплета (давно это было, вроде были какие-то большие траблы) 2. секьюрность передачи файлов сервер-аплет-сервер (https?)
0
|
|
|
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
|
|
| 27.01.2013, 13:22 | |
|
ToxaRat
Слушай, а где указывать этот самый "путь к твоему модифицированному файлу" Что-то я туплю
0
|
|
|
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
|
|
| 27.01.2013, 15:08 | |
|
Leoric
Смотри, как раз в данный момент апплет после выполнения подписи пытается методом POST отослать данные по URL указаному в параметре апплета. Как мне сделать агента, который мог бы ловить этот пост реквест и распарсить его? /me чувствует себя тупицей
0
|
|
|
0 / 0 / 0
Регистрация: 14.01.2009
Сообщений: 257
|
|
| 27.01.2013, 16:32 | |
|
почта на JS
глянь эту ссылку, может натолкнет на что-то, там есть обзор использования агента через JS
0
|
|
|
0 / 0 / 0
Регистрация: 15.01.2009
Сообщений: 57
|
|
| 27.01.2013, 17:29 | |
|
Вызов агента под веб - OpenAgent
Syntax http://Host/Database/AgentName?OpenAgent Examples http://www.mercury.com/sales/leads.nsf/Pro...Leads?OpenAgent Note Agents may only be referred to by name. The use of UNID is not supported when referring to an agent. Посмотрите в хэлпе — Examples: Web agents, там есть как парсить GET запрос. В Table of CGI variable names есть доступные переменные (по идее надо доставать из Request_Content). В принципе обработка POST будет стандартная для java, здесь поможет кучка статей в гугле. Примеры кода работы постараюсь показать когда буду дома, если найду в своей свалархиве
0
|
|
|
0 / 0 / 0
Регистрация: 28.05.2005
Сообщений: 347
|
|||||||
| 28.01.2013, 02:00 | |||||||
http://host/base.nsf/RC?OpenAgent&id=3...4257B0100775E01 Внутри
0
|
|||||||
|
0 / 0 / 0
Регистрация: 15.01.2009
Сообщений: 57
|
||||||
| 29.01.2013, 01:13 | ||||||
Здесь можно видеть основной принцип, Set doc=s.DocumentContext -> контекст агента (док со спец полями из формы), order = doc.Request_Content(0) -> строка запроса Сейчас подумал, задачи принимать файлы никогда не стояло, всё как-то параметры, а файла всё как-то на отдачу. Но думаю принцип тотже. P.S. Не пинайте за такую крывущую обработку, это было в первые пол года работы)) Но оно еще живо, а значит имеет право на существование) P.P.S. На Java не нашел реализации, кануло в лету при переезде по ходу
0
|
||||||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
||||||
| 29.01.2013, 13:00 | ||||||
|
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"класс:"</div></div><div class="sp-body"><div class="sp-content">
этот класс для обработки GET и POST типа:v=httpObj.GetRequestParams также - может выводить результат, в т.ч. в JSON декодит и энкодит - это важно для не анлийских языков
0
|
||||||
|
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
|
|
| 29.01.2013, 18:45 | |
|
Товарищи, заработало.
Если коротко, то получилось так: на офф. форуме прочитал что домино при аплоде валидейтит пост мессыдж относительно формы в базе, которая указана в самом постмесседже. Сделал простенькую форму с одним FUC полем, посабмиттил её 100500 раз, почитал Request Body. Вместе с разарботчиком апплета подделали такой же Request Body и начали засылать. Надо подделывать вплоть до всяких мелочей ;) Авторизация апплета тупо через посылку куки "DomAuthSessId" от залогиненного пользователя. UNID формы в коде FUC для POST сообщения вычисляется динамически. Речь идёт про вот этот кусок "%%File.c2256eec003c58a5.7f505793c5d3868 fc2257b0100376e50.$Body.0.70">, где c2256eec003c58a5 - replica id базы 7f505793c5d3868fc2257b0100376e50 - UNID формы, где расположен FUC 0.70 - смещение FUC на форме. Сильно помогли знания из своей же темы: Пока буду доделывать. Будут вопросы - ю а велком!! Добавлено: Постится примерно так: Referer - http://SERVER/PATH.nsf/UploadForm?OpenForm Куда постится - http://SERVER/PATH.nsf/UploadForm?OpenForm&Seq=1 UploadForm - простенькая форма в базе, POST мессыдж который мы и фейковали в апплете.
0
|
|
|
0 / 0 / 0
Регистрация: 26.06.2006
Сообщений: 143
|
|
| 31.01.2013, 12:10 | |
|
Omh,
только учитывай, что при редактировании формы/подформы с File Upload Control идентификатор $Body... будет меняться. По-моему даже при простом пересохранении формы. 100% не помню, но вроде так.
0
|
|
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
||
| 31.01.2013, 13:10 | ||
0
|
||
|
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
|
|
| 31.01.2013, 13:31 | |
|
Кирилл Шваб
Не-не, оффсет сменится только в том случае, если ты перед FUC полем начнёшь пробивать энтера. Я этого делать не собираюсь. Аплод форма у меня статична, оффсет известен, всё работает lmike Да, это всё пройдено ещё в 2011 году в той теме, которую я указал в после с решением.
0
|
|
| 31.01.2013, 13:31 | |
|
Помогаю со студенческими работами здесь
18
Python: куда положить .py файл на сервере?
Загрузить файл из интернета, изменить, и положить обратно Как "положить" Expolrer.exe или вызвать/положить любое другое приложение Куда следует положить txt файл для его чтения? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|