📁 Cloudinary ( Upload images, videos, or any file to Cloudinary )

🧩 Overview

Extension Name: RYCloudinary
Package Name : com.ry.Cloudinary
Version Code : 1
Category : Non-Visible Component

Description:

Cloudinary uploader for App Inventor, Kodular, Niotron, and similar platforms. Supports both Unsigned and Signed uploads using Storage Access Framework (SAF) URI input. Allows flexible configuration for cloud name, upload preset, timeouts, and folder paths.

Demo Aia : Cloudinary.aia (29.5 KB)
Test Apk : https://drive.google.com/file/d/14kyD3Ml24Lsg5wEP00Fl4GmYD19u7pHj/view?usp=drivesdk
Extension : RYCloudinary.aix (17.3 KB)

🔧 Your working configuration:

Property Value Note
CloudName "Generation-album" :white_check_mark: your Cloud name
UploadPreset "app_upload" :warning: must match Cloudinary dashboard
UseSignedUpload false for unsigned mode
SignatureEndpoint "" leave empty
ConnectTimeout 3000 ok
ReadTimeout 16000 ok

All Blocks


⚙️ Key Features

✅ Upload images, videos, or any file to **Cloudinary**
✅ Works with **SAF URI** (from FilePicker or WebViewer upload)
✅ Supports **Unsigned uploads** (no server signature needed)
✅ Supports **Signed uploads** (with signature endpoint)
✅ Allows custom **Cloud Name**, **Preset**, **Folder**, **Public ID**
✅ Shows **Progress**, **Success**, and **Error** events
✅ Configurable **Timeouts** (connection + read)
✅ Compatible with **AndroidX**
✅ Built-in **ProGuard** protection (code obfuscation)

🔐 Signed Upload Setup (Optional)

●Set UseSignedUpload → true ●Provide SignatureEndpoint → your backend API that returns signed parameters ●Don’t set UploadPreset (signature endpoint handles it automatically)

Example Backend:

Your server should use Cloudinary SDK (Node, PHP, Python, etc.) to sign the upload request and return JSON to the extension.

⚡ Tips for Better Performance

Tip Description
:framed_picture: Use smaller image sizes Uploads are much faster with compressed files
:gear: Enable Cloudinary auto-quality In your upload preset, enable quality_auto & fetch_format_auto
:globe_with_meridians: Use strong Wi-Fi Uploads go directly to Cloudinary’s data center
:thread: Future Update Extension v2 will support parallel uploads for faster speed

🚫 Limitations

●SAF URI uploads are slower than direct file paths (Android restriction) ●Very large files (>15 MB) may take longer or timeout ●Cloudinary free tier has bandwidth limits (check dashboard) ●Requires internet connection (HTTPS POST)

🧰 Example Cloudinary Setup

1️⃣ Go to [Cloudinary Dashboard → Upload Settings → Upload Presets]
2️⃣ Click “Add Upload Preset”
3️⃣ Set:●Signing Mode: Unsigned
●Folder: e.g., AppUploads
●Allow formats: image/*
●Save preset name: app_upload
4️⃣ Use that preset in your app: set RYCloudinary1.UploadPreset to "app_upload"

📦 Changelog

●v1.0 (Initial Release)
●Added UploadUri method
●Added OnProgress, OnUploadSuccess, OnUploadError events
●Added support for signed & unsigned uploads
●AndroidX + Proguard enabled

Made in Niotron IDE

1 Like

Extension Builder credit ?

1 Like

Niotron IDE

1 Like