Servlets 获取文件大小-Apache Commons文件上载

Servlets 获取文件大小-Apache Commons文件上载,servlets,file-upload,apache-commons-fileupload,Servlets,File Upload,Apache Commons Fileupload,我正在使用Servlet和JSP构建一个Web应用程序。我使用ApacheCommons库构建了一个文件上传功能。我想限制用户上传一个巨大的文件-因此设置了20 MB的限制 我使用Fileitem.getSize()方法获取大小,我猜该方法读取整个文件以确定大小。如果用户试图上传一个大小只有几GB的文件,那么它不会在应用服务器上增加很多开销吗?是否有更好的方法来获取文件大小?如果在ServletFileUpload上设置sizeMax属性,则一旦读取的数据超过一定数量,请求就会被拒绝 此外,如果

我正在使用Servlet和JSP构建一个Web应用程序。我使用ApacheCommons库构建了一个文件上传功能。我想限制用户上传一个巨大的文件-因此设置了20 MB的限制


我使用
Fileitem.getSize()
方法获取大小,我猜该方法读取整个文件以确定大小。如果用户试图上传一个大小只有几GB的文件,那么它不会在应用服务器上增加很多开销吗?是否有更好的方法来获取文件大小?

如果在
ServletFileUpload
上设置
sizeMax
属性,则一旦读取的数据超过一定数量,请求就会被拒绝


此外,如果使用
DiskFileItemFactory
,则可以设置阈值,以便将超过一定大小的文件流式传输到本地磁盘,而不是保存在内存中,从而防止出现大文件。

如果在
ServletFileUpload
上设置
sizeMax
属性,然后,一旦读取了超过一定数量的数据,请求就会被拒绝


此外,如果您使用
DiskFileItemFactory
,则可以设置阈值,使超过一定大小的文件流式传输到本地磁盘,而不是保存在内存中,这样可以防止出现大文件。

您好-谢谢!我收到了这个错误消息-“字段上载文件超过了其最大允许大小20个字符”。字符与字节相同吗?有没有办法指定字节?嗨-谢谢!我收到了这个错误消息-“字段上载文件超过了其最大允许大小20个字符”。字符与字节相同吗?有没有办法指定字节?