Как загрузить фотографии или на ftp / веб-сервер из приложения oracle apex? - PullRequest
1 голос
/ 10 июля 2020

У меня есть приложение Oracle Apex 5.0, которое используется для ввода данных, и приложение ASP. NET MVC5, которое используется для отображения данных.

В настоящее время мой процесс должен загрузите файлы вручную на веб-сервер через FTP, а затем сохраните URL-адреса фотографий и файлов в текстовом поле базы данных. Этот процесс является громоздким и требует большого количества операций копирования / вставки.

В идеале я хотел бы иметь возможность перетаскивать фотографии в область на веб-странице, которая загружает фотографии на веб-сервер, и сохраняет URL-адрес в текстовом поле. В ходе этого процесса также будет создана уменьшенная / уменьшенная версия фотографии, которая будет существовать вместе с полноразмерным изображением.

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

1 Ответ

2 голосов
/ 10 июля 2020

APEX не сможет сделать то, что вы просите, программно. Поскольку APEX работает изнутри базы данных и не имеет доступа к ОС по умолчанию, вам необходимо:

  1. Каким-то образом предоставить Oracle DB доступ к файловым каталогам веб-сервера
  2. Сохраните файлы как большие двоичные объекты
  3. Узнайте, как декодировать и записывать файлы в каталог ОС с помощью хранимой процедуры PL / SQL
  4. Удалить большие двоичные объекты

В идеале ваш веб-сервер не должен работать на том же хосте, что и ваш сервер базы данных, поскольку это может представлять значительную угрозу безопасности, поэтому сразу же у вас могут возникнуть несколько проблем. будет сценарий оболочки, который запускает некоторую комбинацию scp или sftp вместе с sqlplus, чтобы сначала безопасно скопировать файлы на веб-сервер, а затем обновить таблицу базы данных с правильными URL-адресами. В большинстве сред реализовать такую ​​автоматизацию было бы относительно просто. У него не будет красивых GUI через веб-страницу, но вы получите лучшие практические результаты намного быстрее и с гораздо меньшими усилиями.

...