jQuery 文件上传显示剩余时间?

2024-01-31

嗨我正在使用jQuery 文件上传 https://github.com/blueimp/jQuery-File-Upload/wiki

它工作正常,我向用户显示一个进度条,显示上传进度,代码如下:

$('#fileupload').fileupload({
    /* ... */
    progressall: function (e, data) {
        var progress = parseInt(data.loaded / data.total * 100, 10);
        $('#progress .bar').css(
            'width',
            progress + '%'
        );
    }
});

在我的页面上,我当前刚刚包含了 jquery.fileupload.js 文件。在 Progressall 函数的数据中,我可以看到比特率、总文件大小和当前加载的数据,正如我所说,这会按预期更新我的进度条。然而读这篇文章link https://github.com/blueimp/jQuery-File-Upload/wiki/Extended-progress-information在网站上它建议我可以获得额外的信息,包括剩余时间?然而我一直无法让这个工作。还有一个 jquery.fileupload-ui.js 文件 - 我尝试在 jquery.fileupload.js 之后包含该文件,但我没有看到剩余时间属性被添加到 Progressall 函数中的数据中。我还尝试删除 jquery.fileupload.js 并只包含 jquery.fileupload-ui.js 但是这破坏了我的文件上传并且它不起作用。

无论如何,我是否可以使用加载的比特率/数据和总大小轻松计算剩余时间,或者有人建议我应该从插件中获取此扩展信息的正确方法吗?


我发现最简单的解决方案是计算“fileuploadprogress”事件中的时间:

var secondsRemaining = (data.total - data.loaded) * 8 / data.bitrate;

就我而言,我只包含 jquery.fileupload.js 而不是 jquery.fileupload-ui.js 所以我更喜欢这个解决方案。

但是,当您包含 jquery.fileupload-ui.js 组件时,您会获得可用的“扩展进度”信息,但我相信这仅适用于“fileuploadprogressall”事件,而不适用于“fileuploadprogress”。https://github.com/blueimp/jQuery-File-Upload/wiki/Extended-progress-information https://github.com/blueimp/jQuery-File-Upload/wiki/Extended-progress-information

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery 文件上传显示剩余时间? 的相关文章

随机推荐