19
Views
5
Comments
How to Upload and Download Images/Videos in OutSystems Mobile App?
Question

Hi everyone,

I’m working on a mobile application in OutSystems and I need guidance regarding handling media files (images/videos).

My Use Case:

I would like to implement the following functionality:

  • Upload image/video from device gallery to my server

  • Download image/video from server to device

  • (Optional) Share image from gallery directly into my app

Could someone please guide me on:

  1. What is the recommended approach in OutSystems for uploading images/videos from the gallery?

  2. How can I store these files on the server (Database vs External Storage)?

  3. What is the best way to download and save media files back to the device?

  4. Are there any Forge components recommended for this use case?

I’m using a Mobile App (Reactive/Mobile) in OutSystems.


2023-12-28 17-18-31
Praveen Kumar Natarajan
 
MVP

Dear Siva, 

In addition to the recommendation provided by the AI Assistant . For Data sync back from server to media device. I would recommend you to go through the below training video about different data sync patterns. 

https://learn.outsystems.com/training/journeys/mobile-developer-679/data-synchronization-overview/o11/1758

It can help to understand how to implement 2 way synchronization pattern between client device and server  

Hope it helps 

Cheers, 
Praveen

2023-10-16 05-50-48
Shingo Lam

#1 can use the built-in component of Outsystems or forge to achieve it

#2 use cloud storage or build the API for the mobile to call

#3 as @Praveen Kumar Natarajan recommended to use the data sync pattern of Outsystems, or API again to get back the data and saved to local. 

#4 https://www.outsystems.com/forge/component-overview/1409/file-transfer-plugin-o11

2024-07-12 05-57-50
Gourav Shrivastava
Champion

Hello @siva kumar 

For uploading images and videos from a mobile app, you can use the Camera Plugin or File Plugin to pick files from the device gallery.

If your files are large (especially videos), I recommend using the Chunk It Forge component:

chunkIT

Chunk It uploads the file in small parts, which makes the upload more reliable and prevents failures on slow or unstable networks.

For storage, small images can be stored in the database, but for videos and larger files, it’s better to use external storage like AWS S3 or Azure Blob.

For downloading and saving files back to the device, you can use the File Plugin.

2024-10-05 13-30-20
Huy Hoang The

It's correct! 

Use Camera Plugin or File Plugin.

If large file, we will implement ChunkFile to upload and store file by AWS S3

2018-12-10 12-16-21
Goncalo Duarte Almeida

Hello.

Implementing media handling in OutSystems mobile apps involves balancing user experience with performance. Since high-quality media files can be large, you’ll want to avoid overloading the application’s database.

The recommended approach depends on whether you are building a Native Mobile app or a Progressive Web App (PWA).


  • Native Mobile: Use the Camera Plugin from the Forge.
  • PWA: Use the standard Upload Widget.


Database vs. External

  • OutSystems Database: Best for Small icons, thumbnails, or low-volume apps.Pros: Built-in security, easy implementation (Binary Data type). Cons: Limits app performance; database storage is expensive.
  • External (S3 / Azure Blob): Best for Videos, high-res photos, and large file volumes. Pros: Scalable, cheaper, supports streaming (CDN), reduces DB load. Cons: Requires setting up an external account and integration.


Recommended: Store a small thumbnail in the OutSystems database for quick list views, and the original file in an external bucket like Amazon S3 or Azure Blob Storage.


To bring files back to the device from the server:

  • File Transfer Plugin: This is the gold standard for mobile. It allows background downloads so the user can keep using the app while a large video downloads.


Recommended/Suggested Forge Components

  • Camera Plugin: Essential for gallery access and taking photos.
  • File Transfer Plugin: Handles large file uploads/downloads in the background.
  • Amazon S3 Connector: The official way to integrate with AWS for external storage.
  • Image Utils Mobile: Useful for resizing or compressing images on the device before uploading to save bandwidth.


Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.