Store uploaded files
Let your app accept and retrieve customer files through Ahamo's managed backend.
Use managed storage when people need to upload and retrieve files. Design assets ship with the app; customer uploads belong in storage and usually link to a saved record.
Define the upload behavior
Tell Ahamo:
- which file types and maximum size the app accepts;
- who may upload, retrieve, replace, or delete a file;
- which record owns it;
- what progress, cancellation, and failure should look like;
- what happens to the previous file after replacement.
For example:
Add one product-image upload. Accept JPEG, PNG, and WebP files up to 5 MB. Only signed-in staff may upload or replace an image; anyone may view it on a published product page. Show progress and a recoverable message for unsupported, oversized, cancelled, or failed uploads.
Those types and limits belong to this feature, not Ahamo generally. Link the record only after upload succeeds. Private retrieval must check the viewer's permission.
Verify upload and retrieval
Test one supported file, an unsupported type, an oversized file, cancellation, and a failed upload. Refresh the page after success and confirm the file still appears on the intended record. Replace it and verify every intended view shows the new file. Test a signed-out or unrelated user against private retrieval.
Open Runtime → Storage and select the same environment. The pane lists declared buckets and object metadata, including key, content type, and size. Match the safe test upload to that metadata. Signed links and secret material are intentionally not displayed.
Environments have their own reported storage state. A development upload does not demonstrate that production upload and retrieval work. After publishing, repeat the journey with a safe production test file.
Make failure understandable
Do not show success before both the upload and record update finish. If retrieval fails later, show a placeholder or unavailable state rather than a broken success control. Images that convey information need alternative text; downloadable documents need a meaningful display name and type.