Skip to main content

New plugins to store files outside your database!

The plugins we release helps you easly upload files to Amazon AWS S3.
Below we have simple installation tutorial and for more you can always visit our DEMO application.

Actually, this plugin is in 2 parts:
- "FMcomponent" part is APEX item. Something like native filebrowser item but fully configurable. You can always customize how it with a sparkle of CSS.
- "FMproviders" part serves as connection to one of the file storage service (eg. Amazon S3, Dropbox, etc)

To use it, you have to grand DBMS_CRYPTO privilege to your Oracle schema:
grant execute on sys.dbms_crypto to <schema>;
Next, install both plugins into your APEX application: FMcomponent and specific FMprovider (currently we provide AWS S3 FMprovider).

At the end you have to install additional package. As a schema owner open your favorite SQL editor and run as first apexutil_fm_aws.pls and second apexutil_fm_aws.plb.

Now you can try to add plugins in your application.
Go to Apex Application builder, create Static Content region. Add to this region items:

  1. Item type FM Provider AWS3 [Plug In]
    You must fill Settings region according your Amazon S3 bucket and credentials. (this wideo will help you)
  2. Item type FM Component [Plug In]
    Provider - select FM Provider AWS3 item
    Collection - APEX collection name to store metadata information (available metadatas: transformed path, original path, download link, mimetype, file size)
    Multiple - switch on/off multi upload file
    Max Files - max. number of uploaded files
    Show Drop Zone - switch on/off drag and drop
    Button label - name of button label
    Transform Path - PL/SQL function body to transform path (you can use it to prevent file overwrite). Read more in our sandbox
    Accept - which file types are accepted (f.ex. image/* audio/* video/*)
    Max Size - maximum size file (client validation)
From now you can try to use it.

More information and demo you can find in our SANDBOX pages.


  1. This is really interesting! The possibilities are endless! Really.
    I like your approach. I can't wait to see the Dropbox Provider script (shamelessly that's what I use).
    So far I have a manual integration that is nowhere near as slick as this approach.

    Good job!

  2. Hi Andrew (or someone from Apexutil)
    I would like to contact you regarding the other providers.
    Please contact me via twitter (@GasparYYC) or let me know how to get a hold of you..

    Thank you

  3. Hello Andrzej,
    Did you think about extend this plugin for SharePoint online which is also very a popular environment too?

  4. I hope you can help. I am using ORDS 19.2 with APEX 19.1. I have installed you plugins and set them according to the instructions, however I am getting this error during page load. "Uncaught SyntaxError: Invalid left-hand side in assignment". It shown for this section for second equal sign.
    (function(){window.FileManager=window.FileManager||{}; window.FileManager.providers=window.FileManager.providers||{}; window.FileManager.providers.P3_AWS-S3=new window.FileManager.AWS3Provider({

    What would you recommend to check/correct?

    1. Never mind. I have figured it out. do not use hyphen in the names.

  5. Hello,
    I am using ODDS 21 in APEX 22 and i installed the plugins but when i execute my APP i have this error

    The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.

    How I can include the V4 signature

    someone who can answer Please?


Post a Comment

Popular posts from this blog

TWO-Factor Authentication with APEX application.

Two-factor authentication means that you must have two factors, to access your account. The first factor is something you know, like your login and password combination. The second is something you have, like a mobile device with a security app installed. That second factor — the mobile device with a security app — adds an extra layer of protection to your account. Even if hackers steal your password, they can’t log in, because they don't have your mobile device. Try 2FA on our SANDBOX environment! It is the most popular 2FA option based on Times-based One-Time Password (TOTP) alghoritm described in RFC 6238 and RFC 4226. TOTP is supported by Google Authenticator, Microsoft Authenticator, Authy 2-Factor Authentication and many other mobile apps. The most popular online services like Facebook, Google, Twitter use TOTP to protect user's accounts. TOTP is a standard algorithm based on cryptographic hash method SHA-1. SHA-1 algorithm's implementation is available sin


About 10 years ago I tried to build APEX application on MS SQLServer. It was possible but performance was not satisfactory. (You can read this post here) ... Today I will describe how to use APEX with MySQL. Obviusly I don't think it is good idea to build APEX app only on MySQL. It can be used as part of Hybryd solution (Oracle + MySQL or Postrgres). My description covers integration with MySQL. As a result will be APEX application with Interactive Report and CRUD form based on MySQL data. Description contains two parts: First part is a MySQL site, Second part is a APEX application part Prerequisites: Oracle 11g+ APEX 18.1+ MySQL/Postgres RestSQL I. MySQL Part 1. MySQL contains simple  apexdb database with one apexutil table. 2. To use this database install RestSQL. What is RestSQL? RestSQL is an open-source, ultra-lightweight data access layer for HTTP clients. RestSQL is a persistence framework or engine in the middle tier of a classic three tier archi

How to return json with null value using apex_json.write(ref_cursor)

Few days ago I had to develop dynamic query json export module. As a sandbox I prepared PLSQL block: DECLARE c sys_refcursor; l_sql varchar2(4000) := 'select null as "col1", 100 as "col2" from dual union all select 200 as "col1", null as "col2" from dual'; l_file clob; BEGIN open c for l_sql; apex_json.initialize_clob_output; apex_json.open_object; apex_json.write('rowset', c); apex_json.close_object; l_file := apex_json.get_clob_output; apex_json.free_output; DBMS_OUTPUT.PUT_line(l_file); END; { "rowset": [{ "col2": 100 }, { "col1": 200 } ] } As you can see above PLSQL code doesn't return null value pairs : ( apex_json.write(p_name IN VARCHAR2, p_cursor IN OUT NOCOPY sys_refcursor) procedure Signature 14 doesn't support null. How to fix it... ? APEX API provides apex_js