计算文件大小和base64解码图片


    //文件大小
    private static String getFileSize(File file) {
        Long fileSize = file.length();
        if (fileSize.equals((Long) 0L)) {
            return "0KB";
        }
        double kiloByte = fileSize / 1024L;
        if (kiloByte <= 1) {
            return "1KB";
        }
        double megaByte = kiloByte / 1024;
        if (megaByte < 1) {
            BigDecimal result1 = new BigDecimal(Double.toString(kiloByte + 1));
            return result1.setScale(0, BigDecimal.ROUND_HALF_UP).toPlainString() + "KB";
        }
        BigDecimal result2 = new BigDecimal(Double.toString(megaByte));
        return result2.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "MB";
    }

//解码图片并保存

colFileModel = colFileBizService.innerDownFileById(fileId);
            String downloadHis = COLFileServiceUtils.downloadHis(colFileModel.getFileName());
            ChenData da=JSON.parseObject(downloadHis, ChenData.class);
            byte[] bt = null;
            try {
                BASE64Decoder decoder = new BASE64Decoder();
                bt = decoder.decodeBuffer(da.getData());
            } catch (IOException e) {
                e.printStackTrace();
            }
            FileOutputStream fos = new FileOutputStream("D:/chen.png");
            fos.write(bt);
            fos.close();
 public static String downloadHis( String fileName) throws Exception {
        Map<String, String> paramMap = new HashMap<>();
        paramMap.put("fileName", fileName);
        paramMap.put(COL_FILE_SIGN_ID_KEY, COL_FILE_SIGN_ID);
        String sign = generateApiSign(paramMap);
        paramMap.put(COL_FILE_SIGN_KEY_KEY, sign);
        Map<String, Object> transformed = new HashMap<>();
        logger.info("请求文件服务域>>>>>>{}",paramMap.toString());
        String resStr = HttpUtils.executePostMethodRequest(PARTNERFILE_DOWNLOAD_URL, paramMap);
        //logger.info("接收文件服务域<<<<<<{}",resStr);
        if (StringUtils.isBlank(resStr)) {
            logger.info("返回结果为空");
            return null;
        }
        return resStr;
    }
 public static String executePostMethodRequest(String path, Map<String, String> paramMap) {
        String result = null;
        HttpPost httpPost = null;
        try {
            httpPost = new HttpPost(path);
            List<NameValuePair> paramList = constructNameValuePair(paramMap);
            httpPost.setEntity(new UrlEncodedFormEntity(paramList, DEFAULT_CHARSET));
            HttpClient httpClient = getPooledHttpClient(DEFAULT_TIMEOUT);
            HttpResponse response = httpClient.execute(httpPost);
            if (response.getStatusLine().getStatusCode() >= WRONG_CODE) {
                LOGGER.error("Http Request Failed: URL".concat(path).concat(",Params:").concat(paramMap.toString())
                        .concat(",Error Code").concat(String.valueOf(response.getStatusLine().getStatusCode())));
            } else {
                result = fetchContent(response.getEntity().getContent());
            }
        } catch (UnsupportedEncodingException e) {
            LOGGER.error(e.getMessage(), e);
        } catch (IOException e) {
            LOGGER.error(e.getMessage(), e);
        } finally {
            if (null != httpPost) {
                httpPost.abort();
            }
        }
        return result;
    }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值