TuniCyberLabs
Services
Products
About
Blog
Contact
TuniCyberLabs

Your technology partner for AI, cybersecurity, cloud, and infrastructure solutions. Helping businesses across Tunisia and beyond grow smarter.

Stay in the loop

Threat research and product notes, no spam, double opt-in.

Confirm your email using the link we send before your subscription starts.

Privacy notice

Services

  • ▸Custom Software Development
  • ▸AI Solutions
  • ▸Cybersecurity
  • ▸Cloud Services
  • ▸Hosting & Infrastructure

Industries

  • ▸Banking & Finance
  • ▸Healthcare
  • ▸Retail & E-Commerce
  • ▸Manufacturing

Company

  • ▸About Us
  • ▸Blog

Products

  • ▸All products
  • ▸TuniReach
  • ▸TuniRise

Platform

  • ▸Contact

Contact

  • contact@tunicyberlabs.com
  • +216 99 800 151
  • Based in Sousse and Estonia.

Legal

  • ▸Privacy
  • ▸Terms
  • ▸Acceptable Use
  • ▸Responsible Disclosure

© 2026 TUNICYBERLABS // ALL_RIGHTS_RESERVED

Software Engineering
  1. Home
  2. /
  3. Blog
  4. /
  5. Your Customer Uploaded 8 GB. Why Are You Asking Them to Start Again?

Your Customer Uploaded 8 GB. Why Are You Asking Them to Start Again?

TuniCyberLabs
October 15, 2026
7 min read

Large-file portals win trust when they resume correctly, preserve the right revision and distinguish uploaded bytes from files approved for use.

In this article

  1. Give the upload its own identity
  2. Choose a transfer protocol with explicit recovery behaviour
  3. Progress is not the same as completion
  4. Put quarantine between storage and distribution
  5. Preserve revision meaning after the transfer
  6. Account for abandoned uploads and expired access
  7. Test the unpleasant parts before inviting customers

An Italian engineering supplier sends a large design package through a customer's portal. The browser reaches ninety-eight percent, the office connection drops and the application returns to an empty upload form. The supplier tries again, then emails a transfer link because the portal cannot be trusted.

The buyer now has the same package arriving through two channels, possibly with two different revisions. A feature intended to organise project evidence has created more uncertainty than the shared mailbox it replaced.

Resumable uploads are a practical modern-web capability, especially as customer portals handle CAD, video, scans and complex document bundles. The real product is not a progress bar. It is an understandable path from selected local file to verified project material.

Give the upload its own identity

Treat an upload as a durable operation associated with an authorised user, project and intended document revision. The file name alone is a weak identifier: customers reuse names, rename files and accidentally select a different revision after an interruption.

Record the expected size and the integrity information appropriate to the chosen protocol. On resume, establish that the client is continuing the intended file. If the browser cannot recover access to the local file, ask the user to select it again with a clear explanation instead of pretending recovery is automatic.

The interface should show the project and revision destination throughout the transfer. A perfect upload to the wrong customer workspace is still a product failure.

Choose a transfer protocol with explicit recovery behaviour

The tus protocol defines resumable transfer behaviour through upload offsets and related operations. Its extensions cover capabilities such as expiration and checksums; support must be negotiated rather than assumed. This provides a clearer basis for implementation than inventing an informal sequence of chunk requests. tus resumable upload specification

Object storage can offer multipart upload mechanisms with independent parts and a final completion operation. Amazon S3's documentation explains the multipart process and supported integrity checks. A browser portal still needs application-level orchestration, permissions and recovery around those storage operations. Amazon S3 multipart upload overview

The choice depends on deployment, file sizes, operational ownership and client requirements. A supplier should explain the trade-off using your actual workflow rather than choose a library solely because its demo looks polished.

Progress is not the same as completion

A browser can finish sending bytes before the server has assembled and verified the final object. The completion stage can fail or take time. Keep uploading, finalising, checking and ready states distinct so the customer knows whether it is safe to close the page.

For S3 integrations, the completion API has specific response and error behaviour, and an ETag is not always an MD5 digest of the object. Use the provider's supported checksum semantics instead of making an assumption from the shape of a returned string. S3 completion API

Define a way to retrieve the result after the browser loses the final response. The user should be able to return to the project and discover whether the package completed, rather than uploading a duplicate because the last screen was ambiguous.

Put quarantine between storage and distribution

Files supplied by external users should not automatically become trusted downloads for everyone in the project. Define the checks required by your policy: allowed types, size limits, malware scanning, archive handling and any domain-specific validation.

Keep unapproved material separate from the normal release path. Download permission should depend on the verified application state, not merely knowledge of an object URL. A failed or timed-out scan must leave a visible unresolved state rather than quietly publish the file.

Be realistic about scanning. A successful scan is one control, not a guarantee that any file is harmless. Very large archives, password-protected content and specialised design formats may need explicit handling rules and an escalation route.

Preserve revision meaning after the transfer

The engineering supplier may submit a corrected package while the earlier package is still being reviewed. Decide whether that creates a new revision, replaces an unsubmitted draft or requires approval to supersede a released document. Do not let storage overwrite behaviour decide the business policy accidentally.

Make downstream references stable. A reviewer commenting on revision two should not see revision three appear under the same link without an explanation. Keep the original submission identity and clearly show which revision is currently accepted for work.

Our supplier document portal guide discusses ownership after receipt. The article on customer portal security provides the wider access-control questions.

Account for abandoned uploads and expired access

Incomplete transfers consume storage and operational attention. Define an expiry policy, show it to users and clean abandoned state safely. A cleanup task must distinguish an active slow transfer from a genuinely abandoned one.

Authorisation may change during a long upload. Recheck the relevant permission before final acceptance. If the project is closed or the user loses access, the portal should explain the outcome without exposing the file to an unauthorised audience.

Temporary upload credentials should have limited scope and lifetime. If a valid transfer outlasts them, the application needs a controlled renewal path tied to the same upload operation. Restarting the entire file should be the exception, not the routine response to an expired credential.

Test the unpleasant parts before inviting customers

A meaningful pilot uses the expected file sizes and representative networks. Interrupt the connection near completion, close and reopen the tab, retry a finalisation request and attempt to resume with a different local file. Check that the system neither loses accepted progress nor accepts the wrong revision.

Also test a scan outage, a rejected file, revoked project access and an abandoned transfer. Support should be able to explain each result from an operation reference without asking the customer to email the sensitive package for investigation.

Measure successful completion rate, repeated bytes transferred, time spent waiting after upload and duplicate submissions. These are concrete indicators of whether the portal improves the customer's working day.

To review the people behind a proposed build, explore Anis Khalef's selected software work alongside a discussion of your own requirements. Portfolio examples are a starting point for that conversation, not evidence that your particular upload architecture has already been implemented.

TuniCyberLabs develops custom customer portals and business software. Discuss a large-file portal pilot with a representative package, its approval journey and the connection failures your customers encounter.

TAGS
Customer portalsFile uploadsEngineering softwareObject storage

Frequently Asked Questions

What does a resumable upload actually guarantee?

+

It can preserve accepted progress and continue an interrupted transfer when the client, server and session state support it. The product still needs rules for expiry, authorisation, file identity, final integrity checks and what happens if the original local file is unavailable.

Should a file become downloadable as soon as upload progress reaches 100 percent?

+

Not necessarily. Transfer completion, integrity verification, security scanning and business acceptance are separate stages. Publish the file only after the stages required by your policy succeed, and explain any waiting or failure state to the customer.

Is an object-storage ETag always a file checksum we can compare with MD5?

+

No. AWS documents that an S3 ETag is not always an MD5 digest. Use the supported checksum mechanism and correct full-object or composite interpretation for the upload method instead of assuming every ETag proves the same property.

Need help with
this topic
?

Our team specializes in the technologies and strategies discussed in this article. Let’s talk about how we can help your business.

Get in Touch

Related
Articles

Software Engineering

Your Live Dashboard Is Showing the Past. Can WebTransport Fix That?

WebTransport opens new options for fast browser applications. The buying decision starts with stale data, unreliable networks and the actions you cannot afford to lose.

Software Engineering

Your App Works Offline. What Happens When an Offline Employee Loses Access?

Local-first collaboration can make software feel immediate. Build the rules for cached data, revoked users and late edits before inviting a whole business to work offline.

Software Engineering

Node.js 20 Is Out of Support. Your Upgrade Needs More Than a Green Build.

The runtime upgrade looks small until PDFs, native modules and background jobs behave differently. Buy a verified production transition with a clear recovery route.

Back to all articles