使用 GWT 上传前检查文件大小

2023-12-07

我正在使用 FormPanel 将文件上传到服务器。我想做的是在上传之前确保文件大小小于给定大小(例如 10MB)。 在服务器端,我有一个 javax.servlet.http.HttpServlet,我在其中重写 doPost。这里 HttpServletRequest 参数具有文件的大小,但问题是在文件上传之前我无法到达 doPost 。因此,如果我选择上传 1 GB 文件,则在上传整个文件后,客户端收到的“文件太大”错误消息在 30 秒左右的时间内不会显示。

在上传之前,有没有办法在客户端检查大小?或者,如果数据大小超过特定大小,则让 servlet 抛出异常。


只需添加本机方法:

private native int getFileSize(final Element data) /*-{
            return data.files[0].size;
        }-*/;

然后这样称呼它:

final FileUpload upload = new FileUpload();
//
// some actions
//
final int size = getFileSize(upload.getElement())

对我来说效果很好。

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

使用 GWT 上传前检查文件大小 的相关文章

随机推荐

  • 如何更改 .NET 应用程序的预定义 userconfig 目录?

    目前我的应用程序的用户设置存储在这个默认目录中 C Users User Name AppData Roaming Company Name Assembly Name vshos Url Hash Assembly Version 我知道
  • 是否有任何营销 API webhooks 用于修改广告系列/广告集/广告

    在我编写的程序中 用户可以暂停 取消暂停活动 我想知道如果用户通过 Facebook 广告管理器修改营销活动 我是否可以更新营销活动的状态 我能找到的唯一网络钩子是领先一代 看来我发现了隐藏的文档here 你必须将 ads rules en
  • 部署后对参数的更改未显示在报表服务器上

    我的 SSRS 2008 报告中有 7 个参数 3 个字符串多重选择 1 个日期时间 3 个字符串值 并且我已在默认值 它在我的 Visual Studio 2008 预览窗口中工作正常 但是部署后到我的报告服务器 未选中参数的 NULL
  • 仅打印 Python 中特定键的字典术语的值

    我想知道如果我有一本字典并且我想只打印出特定键的值 我会在Python 中做什么 它将位于变量中以及 dict Lemonade 1 45 87 Coke 23 9 23 Water 98 2 127 inp input Select ke
  • 是否可以从模拟器内访问照片的地理标记元数据?

    我编写了一个应用程序来检索照片的 GPS 元数据 它可以在我的 iPhone 上运行 但不能在模拟器中运行 如果我将包含地理标签的照片拖到模拟器上 它就会被放入照片库中 然后 我的应用程序发出以下代码 ALAssetRepresentati
  • nginx 位置通过文件扩展名语法拒绝

    我编写了两种不同的设置 一种用于拒绝对点文件的访问 另一种用于拒绝对文件扩展名列表的访问 但是 是否有任何语法可以拒绝其他文件扩展名列表中的点文件 location 7z bak bash bz2 config dist engine fl
  • 使用应用程序脚本拆分(分解)谷歌电子表格中的合并表格单元格

    当操作 复制 移动 包含合并单元格的范围时 我总是收到错误 您的粘贴与合并单元格重叠 请取消合并单元格并重试 但是当尝试使用以下命令取消合并范围内的单元格时Range breakApart 我收到另一个错误 所选单元格无法合并 这更令人困惑
  • 优雅的 Haskell 案例/错误处理

    我试图更好地理解如何处理 haskell 中的错误情况 并编写了一些代码来帮助我解决这个问题 是否有更好的方法 更优雅 更短 更通用 来处理多个替代方案 例如嵌套的 case 表达式 关于该主题有什么好的教程吗 本例的虚构类型 这有点简化
  • Python:将 Unicode-Hex-String 转换为 Unicode

    我有一个由带有该函数的 unicode 字符串制成的十六进制字符串 def toHex s res for c in s res 02X ord c at least 2 hex digits can be more return res
  • 推动 JavaScript 性能的限制是什么?

    在过去的几个月里 我一直在构建一个原型页面 该页面使用了大量 SVG 并且通常包含很多元素 JavaScript 和服务器端 大量 AJAX 也正在处理大量数据 页面上有数千个事件侦听器 重点是 它相当重 在 JS 中执行此类操作的最大障碍
  • Android 应用程序的 Facebook 登录(使用释放密钥)

    我正在尝试在 Google Play 上发布我的应用程序 我的应用程序中有 Facebook 登录信息 直到昨天 一切都工作正常 直到我运行应用程序时debug keystore 但是 当我使用自己的发布密钥并签署我的应用程序时 Faceb
  • 如何在Electron框架中使用html模板?

    我需要构建一个具有多个窗口的跨平台应用程序 所以我想知道如何在Electron中使用html模板 基于类似的问题据我所知 Electron 中没有内置的 html 模板语言 这实际上很棒 因为它允许您使用任何其他模板语言 我目前正在玩ejs
  • 使用远程计算机通过 JupyterLab 打开网站(类似于代理)

    我通过连接SSH到正在运行的远程计算机JupyterLab 当我在中运行以下代码时JupyterLab我看到我的本地计算机的 IP 地址 from IPython display import IFrame IFrame src https
  • 如何在 Android 中的列表视图中显示 Dropbox 文件?

    我已经在这里浏览答案有一段时间了 并在我的代码中使用了大部分答案 但它似乎仍然不起作用 我只想显示 Dropbox 帐户中内容的列表视图 并为用户提供下载文件 文件夹的选项 我的 MainActivity 过去常常在打开后立即崩溃 用处理
  • 如何使用 CURL 请求构建、准备和设置 JWT 授权承载令牌

    为了发送和接收授权持有人 我确实阅读了此内容使用 cURL 设置 Bearer 令牌的正确方法和这个如何正确使用 Bearer 代币 这是我的代码 url http www example com phpinfo php data arra
  • 从不可变类型继承[重复]

    这个问题在这里已经有答案了 我想知道继承是如何运作的int list string和其他不可变类型 基本上我只是继承一个这样的类 class MyInt int def init self value 我似乎无法弄清楚 如何设置像它所设置的
  • DataGridView 的自定义单元格绘制的文本溢出

    这是我的细胞绘画方法 DataGridView grid DataGridView sender if e RowIndex 1 e ColumnIndex 1 return if grid Rows e RowIndex Cells e
  • XAML 数据绑定类单例 MVVM 对象

    NOTES 我是一个菜鸟 有时我会陷入简单和 或愚蠢的想法 这就是其中之一 我了解了数据绑定的一般概念 我已经浏览了网上的一些教程 并通过大量文本在谷歌上搜索了几个小时 这只是让我有点困惑 PROBLEM 我正在尝试Windows Phon
  • 输入“=”作为单元格中的第一个字符

    我有一个正在运行的 VBA 宏 并且通常需要将 作为单元格中的第一个字符 单元格中填充有 Domestic Domestic 等值 现在 我将 替换为 IS 作为快速修复 但如果我可以保留等号 我希望它能够与使用 等符号的单元格保持一致 当
  • 使用 GWT 上传前检查文件大小

    我正在使用 FormPanel 将文件上传到服务器 我想做的是在上传之前确保文件大小小于给定大小 例如 10MB 在服务器端 我有一个 javax servlet http HttpServlet 我在其中重写 doPost 这里 Http