|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
Всем привет. Есть веб-сервис, который возвращает результат (см. ниже код в SQL-запросе). В теге <File> приходит файл, про который написано что он "base64 encoding" и "zip compression algorithm as defined within RFC 1950" Пытаюсь использовать utl_encode.base64_decode, utl_compress.lz_uncompress и др. для раскодирования. Не получается. 1.Должен получиться НА ВЫХОДЕ ФОРМАТ ФАЙЛА - XML Но получаю результат в лучшем случае с кодировкой (см. картинку во вложении): 2. Если использую utl_compress.lz_uncompress - получаю ORA-29294 Помогите, пожалуйста, разобраться с декодированием файла. Ниже пример SQL запроса - который в поле RES выводит результат, но не тот, который ожидается. Как я упомянул выше - должно получиться XML на выходе. Заранее спасибо! Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 08:25 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 09:11 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
123ййsam_sql.ru, а что поменялось за 3 года ? Что изменилось... Другой заказчик. Другой веб-сервис. Другой формат возвращаемого файла. Пробовал тот же подход что и 3 года назад - сейчас не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 09:44 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
sam_sql.ru, еще момент. я так понял, что utl_compress.lz_uncompress работает только с gzip а RFC 1950 - это zlib , и utl_compress.lz_uncompress уже с ним не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 09:49 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
sam_sql.ru, я смотрю вы на Дельфи пишите ? так и сделайте это на нем. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 09:54 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
123йй, нет, где я сейчас пишу - нет дельфи. Прошу говорить по-существу )) Максимум могу подключить в plsql какую-нибудь java - библиотеку. Хотелось бы увидеть конкретных примеров. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 10:09 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 10:19 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
sam_sql.ru, если в base64 лежит ZIP файл (судя по сигнатуре), то его тоже можно распаковать utl_compress. Детали можно посмотреть https://technology.amis.nl/2013/01/19/read-a-excel-xlsx-with-plsql/%5D%D0%B7%D0%B4%D0%B5%D1%81%D1%8C]https://technology.amis.nl/2013/01/19/read-a-excel-xlsx-with-plsql/]здесь ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 10:21 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
sam_sql.ruя так понял, что utl_compress.lz_uncompress работает только с gzip Дело вообще не в этом. Распаковку нужно делать после раскодирования, а не вместо. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 10:37 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
MazoHist, 1) Ccылка битая. Там про XLS? 2) Судя по какой сигнатуре? Судя по доке веб-сервиса этот файл RFC 1950, т.е. zlib Как можно проверить что это действительно файл zlib? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 10:38 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
Alibek B.sam_sql.ruя так понял, что utl_compress.lz_uncompress работает только с gzip Дело вообще не в этом. Распаковку нужно делать после раскодирования, а не вместо. Делал уже и после и вместо и по всякому. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 10:39 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
sam_sql.ru, я сегодня добрый :) авторСудя по какой сигнатуре? Судя по доке веб-сервиса этот файл RFC 1950, т.е. zlib если выполнить запрос, то первые байты после cast_to_varchar2 будут PK - стандартный zip-архив. авторТам про XLS? Про XLSX, а XLSX - многофайловый zip. Если поправить ссылку и зайти в реализацию, то function get_file здесь реализует распаковку. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 11:02 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
sam_sql.ru, а вот , собственно, и про распаковку ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 11:06 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
MazoHist, мы пойдем длинным путем ? java две команды. decode64 и unzip ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 11:12 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
123ййMazoHist, мы пойдем длинным путем ? java две команды. decode64 и unzip попробовал это ] https://mikepargeter.wordpress.com/2012/05/16/using-zlib-in-oracle/ ругается что библиотека java не может разархировать файл. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 11:16 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
MazoHistsam_sql.ru, а вот , собственно, и про распаковку да вот над этим сейчас страдаю но пока получаю ошибку преобразования. Возможно трудности перевода... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 11:17 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
это utl_compress-gzip-and-zlib не получилось использовать та же самая оишбка что и была. Видимо что-то сильно поменялось в оркловых пакетах с тех пор ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 12:11 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
sam_sql.ru это utl_compress-gzip-and-zlib не получилось использовать та же самая оишшибка что и была. Видимо что-то сильно поменялось в оркловых пакетах с тех пор Я бы сохранил результат каждой операции в LOB и попробовал развернуть внешними утилитами Чтобы точно быть уверенным где засада ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 12:48 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
1. Попробовал заюзать java-библиотеки для распаковки. Не помогло. Ругается на неизвестный формат. Отсюда 2. Также пробовал распаковать файл - получаю см. ошибку (см. вложение) Как можно проверить, как именно это архив? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 14:36 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
sam_sql.ru, Судя по всему у Вас zip, но где потерян хвост Еще раз 1) Сохраняешь что получил от web 2) Сохраняешь после base64 пробуешь развернуть внешней утилитой ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 15:08 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
Vadim Lejninпотерян хвостне влезает в 4000 байт после преобразования в хекс-строку. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 15:34 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
-2-Vadim Lejninпотерян хвостне влезает в 4000 байт после преобразования в хекс-строку. Именно это я и хочу намекнуть ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 16:04 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
Vadim Lejnin, 1. Сохранил что получил от web Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
2.Полученный Blob сохраняю в файл (файл приложил): ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 16:13 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
Vadim Lejnin-2-пропущено... не влезает в 4000 байт после преобразования в хекс-строку. Именно это я и хочу намекнуть да что тут намекать, скажите прямо что сделать я не обижусь ) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 16:14 |
|
Декодировать и распоковать файл base64 в plsql
|
|||
---|---|---|---|
#18+
sam_sql.ruда что тут намекать, скажите прямо что сделать я не обижусь ) пойти на форум Работа - Вакансии и найти программиста Raw binary data of length size bytes. Maximum size is 2000 bytes. а у Вас файл в base64 занимает 2865 байт ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2019, 16:24 |
|
|
start [/forum/topic.php?fid=52&msg=39769671&tid=1882825]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 347ms |
total: | 517ms |
0 / 0 |