前端上传一段String的数据转换成txt并上传到minio中

首先把字符串转换成字节流根据字节流转成MultipartFile 对象

    /**
     *
     * @param fileData 文件数据

     * @return
     */
    //@Override
    public  BladeFile uploadByFileData(String fileData, String folderName) {
        String fileName =UUID.randomUUID()+".txt";
        InputStream inputStream = new ByteArrayInputStream(fileData.getBytes(StandardCharsets.UTF_8));
        FileItem fileItem = createFileItem(inputStream, fileName);
        //CommonsMultipartFile是feign对multipartFile的封装,但是要FileItem类对象
        MultipartFile multipartFile=  new CommonsMultipartFile(fileItem);
        return   saveFiles(multipartFile,folderName,null,null);
    }
    /**
     * FileItem类对象创建
     *
     * @param inputStream inputStream
     * @param fileName    fileName
     * @return FileItem
     */
     public FileItem createFileItem(InputStream inputStream, String fileName) {
        FileItemFactory factory = new DiskFileItemFactory(16, null);
        String textFieldName = "file";
        FileItem item = factory.createItem(textFieldName, MediaType.MULTIPART_FORM_DATA_VALUE, true, fileName);
        int bytesRead = 0;
        byte[] buffer = new byte[8192];
        OutputStream os = null;
        //使用输出流输出输入流的字节
        try {
            os = item.getOutputStream();
            while ((bytesRead = inputStream.read(buffer, 0, 8192)) != -1) {
                os.write(buffer, 0, bytesRead);
            }
            inputStream.close();
        } catch (IOException e) {

            throw new IllegalArgumentException("文件上传失败");
        } finally {
            if (os != null) {
                try {
                    os.close();
                } catch (IOException e) {
                    throw new IllegalArgumentException("流关闭出错");
                }
            }
            if (inputStream != null) {
                try {
                    inputStream.close();
                } catch (IOException e) {
                    throw new IllegalArgumentException("流关闭出错");
                }
            }
        }

        return item;
    }

这里是读取minio文件的数据

    @Override
    public String getFileDateByFileUrl(String url) {
        byte[] bytes = HttpUtil.downloadBytes(url);
        return new String(bytes);
    }

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值