我正在使用 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(使用前将#替换为@)