如何通过改进提供的Java代码获得文件名和文件大小 PrintWriter out=response.getWriter(); if(ServletFileUpload.isMultipartContent(请求)){ List multiparts=new ServletFileUpload(new DiskFileItemFactory()) .请求(request); 用于(文件项:多部分){ 如果(!item.isFormField()){ 字符串名称=新文件(item.getName()).getName(); item.write(新文件(UPLOAD_DIRECTORY+File.separator+name)); 字符串fname=名称; } }

如何通过改进提供的Java代码获得文件名和文件大小 PrintWriter out=response.getWriter(); if(ServletFileUpload.isMultipartContent(请求)){ List multiparts=new ServletFileUpload(new DiskFileItemFactory()) .请求(request); 用于(文件项:多部分){ 如果(!item.isFormField()){ 字符串名称=新文件(item.getName()).getName(); item.write(新文件(UPLOAD_DIRECTORY+File.separator+name)); 字符串fname=名称; } },java,servlets,Java,Servlets,如何从该servlet获取JSP页面中的文件名和文件大小?使用item.getSize()获取文件大小。您已经拥有了文件名。 或者,您可以使用此来获取文件名 PrintWriter out = response.getWriter(); if (ServletFileUpload.isMultipartContent(request)) { List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFa

如何从该servlet获取JSP页面中的文件名和文件大小?

使用
item.getSize()
获取文件大小。您已经拥有了文件名。 或者,您可以使用此来获取文件名

PrintWriter out = response.getWriter();
if (ServletFileUpload.isMultipartContent(request)) {
    List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFactory())
            .parseRequest(request);
    for(FileItem item : multiparts) {
        if (!item.isFormField()) {
            String name = new File(item.getName()).getName();
            item.write(new File(UPLOAD_DIRECTORY + File.separator + name));
            String fname = name;
        }
    }

要将此信息传递给JSP,请使用
response.setAttribute
或session attributes.

可能重复的可能重复的是,您是对的,我已经有了一个文件名…仍然无法获得文件大小…请按建议使用getSize()。另一个问题,item.getSize()检索像123543这样的数字。我需要像12kbs,2mb这样的文件大小。大小以字节为单位。除以1024得到大小以kB为单位。
String fileName = item.getName();
if (fileName != null) {
    filename = FilenameUtils.getName(filename);
}