iOS 视频的文件输入,当屏幕不再活动时视频压缩终止

iOS File input for videos, video compressing terminates when screen not active anymore

我有一个网络应用程序,带有用于大型视频(30 分钟以上)的文件上传输入。 在 iOS 中,当用户选择视频时, OS 将首先压缩它,调用文件输入 onClick 之前发生的操作。

由于这个过程对于大视频可能需要一段时间,因此用户倾向于同时切换到其他应用程序,但似乎当用户离开压缩屏幕时,操作被取消,甚至没有通知用户。

这是文件输入片段(我正在使用 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)
    }}
/>

iOS chrome 和 safari 的行为相同。

有没有办法在浏览器不再处于活动状态时继续执行操作?

当浏览器未处于活动状态时,无法在后台继续操作。做到这一点的唯一方法是使用本机应用程序而不是网络应用程序。移动设备上文件 API 的文档指出 https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications 将在移动设备上受到“进一步限制”。

当浏览器未处于活动状态时在后台继续操作的唯一方法是使用本机应用程序而不是网络应用程序。