qq_31173597 2016-05-16 01:00 采纳率: 0%
浏览 1947
已结题

在下面这段java代码中,怎么获取文件大小 ,如果再加上图片尺寸更好。

public static List> uploadFile(HttpServletRequest request,

String[] params, Map values) throws Exception {

    List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();  
    MultipartHttpServletRequest mRequest = (MultipartHttpServletRequest) request;  
    Map<String, MultipartFile> fileMap = mRequest.getFileMap();  
    String uploadDir ="D:/bmgl/doc/upload/image/"; //request.getSession().getServletContext().getRealPath("/")+ FileOperateUtil.UPLOADDIR;

    Date d = new Date();  
    //System.out.println(d);  
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");  
    String dateNowStr = sdf.format(d); 
    uploadDir +=dateNowStr;
    uploadDir +="/";
    //System.out.println("格式化后的日期:" + dateNowStr);  

    File file = new File(uploadDir);  
    if (!file.exists()) {  
        file.mkdir();  
    }  

    String fileName = null;  
    int i = 0;  

    for (Iterator<Map.Entry<String, MultipartFile>> it = fileMap.entrySet()  
            .iterator(); it.hasNext(); i++) {  
        Map.Entry<String, MultipartFile> entry = it.next();  
        MultipartFile mFile = entry.getValue();  
        fileName = mFile.getOriginalFilename();  
        if(fileName != null && !"".equals(fileName)){
            String storeName = rename(fileName);  
            String noZipName = uploadDir + storeName;  
            // 上传成为压缩文件  后面的 noZipName替换为zipName
            //String zipName = zipName(noZipName);  
            // ZipOutputStream outputStream = new ZipOutputStream(  
            //new BufferedOutputStream(new FileOutputStream(zipName)));  
            //outputStream.putNextEntry(new ZipEntry(fileName));  
            //outputStream.setEncoding("GBK");  

            FileOutputStream out = new FileOutputStream(noZipName);
            FileCopyUtils.copy(mFile.getInputStream(), out); 

            Map<String, Object> map = new HashMap<String, Object>();  
            // 固定参数值对   
            map.put(FileOperateUtil.REALNAME, fileName);  
            map.put(FileOperateUtil.STORENAME, storeName);  
            map.put(FileOperateUtil.SIZE, new File(noZipName).length());  
            map.put(FileOperateUtil.SUFFIX, "jpg");  
            map.put(FileOperateUtil.CONTENTTYPE, "application/octet-stream");  
            map.put(FileOperateUtil.CREATETIME, new Date());  
            map.put(FileOperateUtil.FULLPATHFILE, noZipName);  
            map.put("URL",uploadDir);  

            // 自定义参数值对   
            for (String param : params) {  
                map.put(param, values.get(param)[i]);  
            }  
            result.add(map);  
        }
    }
    return result;  
} 
  • 写回答

1条回答 默认 最新

  • erichk2008 2016-05-16 05:06
    关注

    倒数第16行,map.put(FileOperateUtil.SIZE, new File(noZipName).length()); 其中这个 File(noZipName).length()就是该文件的大小,应该是字节数,你可以打印这个,或者用于其他用途

    评论

报告相同问题?

悬赏问题

  • ¥15 依据报错在原代吗格式的基础上解决问题
  • ¥15 在虚拟机中安装flash code
  • ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?