Home > Software design >  iOS File input for videos, video compressing terminates when screen not active anymore
iOS File input for videos, video compressing terminates when screen not active anymore

Time:05-20

I have a web app with a file upload input for large videos (30 minutes). In iOS, when user selects a video, the OS will first compress it, an action that happens before the onClick of the file input is being called.

As this process can take a while for large videos, users tend to switch to other apps meanwhile, but it seems that when a user is leaving the compression screen, the action is being canceled, without even notifying the user.

This is the file input snippet (I'm using react).

<input
    required={true}
    id="inputFile"
    type="file"
    accept="video/*"
    ref={fileInput}
    className={style['input']}
    onChange={(e) => {
        const file = e.target.files[0];
        if(file) {
        setValue(fieldName, file)
    }}
/>

The behaviour is the same on both iOS chrome and safari.

Is there a way to make the action proceed when the browser is not active anymore?

CodePudding user response:

It is not possible to continue an action in the background when the browser is not active. The only way to do this would be to use a native app instead of a web app. The documentation for the File API on mobile devices states https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications is going to be "further limited" on mobile devices.

The only way to continue an action in the background when the browser is not active would be to use a native app instead of a web app.

  • Related