如何在 javaServer Faces 中检查图像文件的大小



我正在处理java服务器,我在检查上传的图像文件的大小时遇到问题,有人可以帮助我吗?

您可以使用java.io.File.length()来获取大小。

通过java.io.File.length()获取文件大小是可以的,但它很慢,相反,您可以使用FileChannel的size method.it 比j快一点ava.io.File.length()

FileInputStream fis = null;
            try {
                File me = new File(your file path).getFile());
                fis = new FileInputStream(me);
                return fis.getChannel().size();
            } finally {
                fis.close();
            }

不确定您用于文件上传的内容,但您可以检查上传文件的"内容长度"标头。

或者,如果您使用的是"Apache commons fileupload",您可以这样做

   ServletFileUpload upload = new ServletFileUpload();
    upload.setFileItemFactory(new DiskFileItemFactory());
    List fileItems = upload.parseRequest(request);
    for(int i=0; i < fileItems.size(); i++){
       FileItem item = (FileItem)fileItems.get(i);
       if(item.isFormField() == true){
          if(item.getFieldName() !=null  ){
             int fileSize = item.get().length ;
          }
       }
    }

最新更新