java字符串文件流转解码

1、文件流数据转解码
1-1、文件流转码
 Base64.getEncoder().encodeToString(outputStream.toByteArray())
1-2、文件流解码
 Base64.getDecoder().decode(outputStream.toByteArray());

文件流数据转解码事例:

    public static void main(String[] args) throws FileNotFoundException {
        File file = new File("d:/6d486119-9642-4cd8-8d9c-3522be48a761.com-木材-木纹-8733.jpg");
        try (InputStream fileOutputStream = new FileInputStream(file)) {
            ByteArrayOutputStream output = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int length;
            while ((length = fileOutputStream.read(buffer)) > 0) {
                output.write(buffer, 0, length);
            }
            String encodeToString = Base64.getEncoder().encodeToString(output.toByteArray());
            System.out.printf("encodeToString=" + encodeToString);
            byte[] bb = Base64.getDecoder().decode(encodeToString);
            new FileOutputStream(new File("d:/aa.jpg")).write(bb);
        } catch (IOException e) {
            log.error(e.getMessage(), e);
        }
    }
2、字符串转解码
2-1、字符串转码
 URLEncoder.encode("转码中文","utf-8")
2-2、字符串解码
 URLDecoder.decode("%E8%BD%AC%E7%A0%81%E4%B8%AD%E6%96%87","utf-8")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要将 base64 文件流转换为 MultipartFile 对象,你可以按照以下步骤进行操作: 1. 导入相关的包: ```java import org.springframework.util.Base64Utils; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.commons.CommonsMultipartFile; ``` 请确保你的项目中已经包含了相应的依赖。 2. 创建一个方法来将 base64 文件流转换为 MultipartFile 对象: ```java public MultipartFile base64ToMultipart(String base64) { try { // 从 base64 字符串解码为字节数组 byte[] bytes = Base64Utils.decodeFromString(base64); // 创建一个临时文件对象 String tempFileName = "temp.jpg"; // 临时文件名,根据实际情况修改扩展名 File tempFile = new File(tempFileName); // 将字节数组写入临时文件 FileUtils.writeByteArrayToFile(tempFile, bytes); // 创建一个 MultipartFile 对象 CommonsMultipartFile multipartFile = new CommonsMultipartFile(tempFile); // 返回 MultipartFile 对象 return multipartFile; } catch (IOException e) { e.printStackTrace(); } return null; } ``` 请注意,上述代码使用了 CommonsMultipartFile 类,这是 Spring 框架中的一个实现类。如果你使用的是 Spring Boot 2.x 版本,Spring 已经切换到了 StandardServletMultipartResolver,默认使用 StandardMultipartHttpServletRequest 对象,你可以替换上述代码中的 `CommonsMultipartFile` 类为 `StandardMultipartHttpServletRequest` 类。 3. 调用这个方法并传入 base64 文件进行换: ```java String base64File = "..." // 你的 base64 文件 MultipartFile multipartFile = base64ToMultipart(base64File); ``` 通过上述步骤,你就可以将 base64 文件流转换为 MultipartFile 对象了。请注意,在使用完 MultipartFile 对象后,记得删除临时文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山不在高_有仙则灵

你的奖励是我的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值