我正在使用FormPanel将文件上传到服务器。我想要做的是在上传之前确保文件的大小小于一个给定的大小(例如10MB)。在服务器端,我有一个重写doPost的javax.servlet.http.HttpServlet。这里的HttpServletRequest参数具有文件的大小,但问题是直到文件上传完成后,我才能访问doPost。因此,如果我选择上传一个1 GB的文件,在整个文件上传完成后,客户端收到的“file too file”错误消息在30秒左右都不会显示。
在上传之前,有没有办法在客户端检查大小?或者,如果数据的大小超过特定大小,则让servlet抛出异常。
我一直被这个问题困扰,希望由你来解决,非常感谢,问题是这样的:
java.lang.ClassCastException: org.apache.struts2.dispatcher.StrutsRequestWrapper cannot be cast to org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper
org.apache.jsp.admin.upload_jsp._jspService(upload_jsp.java:99)
org.apache.jasper.runtime.HttpJspBase.s
我知道在servlet中只上传了一个文件时如何保存它。
HTML
<form action="storeArticle" method="post" enctype="multipart/form-data">
<input type="file" name="file">
...
</form>
Servlet可以按如下方式保存上传的文件:
Part part = request.getPart("file");
File file = new