【问题标题】:How to get filesize in client side with JSF richfaces fileupload如何使用 JSF Richfaces 文件上传在客户端获取文件大小
【发布时间】:2019-10-10 18:38:33
【问题描述】:

我使用的是丰富的文件上传 4.3.2 版本。 JSF richfaces fileupload 首先将文件上传到服务器上,然后如果文件大小超过大小则抛出错误。 web.xml 中的大小限制已经设置,但由于它的全局参数,我不能设置更小的数字。

如果用户开始上传大尺寸文件,则需要花费大量时间,因为客户端的上传速度非常慢(以 KB 为单位)(上传 25 MB 的文件需要 5-10 分钟)。

我正在考虑在将文件上传到服务器之前以 javascript 验证文件大小。在 3.3 版本中,可以使用 event.memo.entry.size。但它不适用于 4.3.2 版本。

我想找到一个解决方案来使用丰富的文件上传 (4.3.2) 在客户端检查文件大小,因为它已经在我的应用程序的许多地方使用过。更改为全新的解决方案将不可行。

请指教。

【问题讨论】:

    标签: javascript file-upload jsf-2 richfaces


    【解决方案1】:

    您必须升级到 Richfaces 4.5 并使用 fileUpload 组件的maxFileSize attribute

    例子:

    <h:form>
        <!-- Max 50.000 bytes -->
        <ri:fileUpload maxFileSize="50000" ... />
    </h:form>
    

    大于不会添加到上传 UI 的文件。您应该添加有关上传限制的文本提示。

    【讨论】:

    • 升级我知道。但由于项目处于维护状态,升级后其他功能停止工作。我无法计划升级。有richfaces 4.2的解决方案吗?
    • @priyam 在 RF 4.2 时无法在客户端检查文件大小;您必须自己实施该检查
    • 没有直接的方法可以做到这一点.. 但是有什么方法可以使用 html 和 css 元素并获取文件大小?
    • @priyam 好吧,不是通过 HTML/CSS,你需要 JavaScript
    猜你喜欢
    • 2011-02-25
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    相关资源
    最近更新 更多