springboot将vo生成文件到目录

该博客展示了如何使用Spring的MockMultipartFile进行文件上传,并结合Fastjson转换对象为JSON字符串。在服务实现中,首先生成随机文件名,然后将数据写入到项目资源目录,接着调用远程文件上传服务,最后删除本地临时文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

依赖

org.springframework spring-mock 2.0.8 com.alibaba fastjson 1.2.62

service实现

public RestResponseBody<EnginePublishUnpackResVo> unpack(EnginePublishUnpackVo vo) {
		//生成文件名
		String name = "Local" + "_" + aiEnginePublish1.getEngineVersion() + "_" + (int) ((Math.random() * 9 + 1) * 10000) + ".json";
		//存放到项目目录下
        File file = new File("src\\main\\resources\\" + name);
        try {
            Writer writer = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
            //将vo转成String字符串
            String userData = JSON.toJSONString(resVo);
            writer.write(userData);
            //清除缓存
            writer.flush();
            writer.close();
            FileInputStream input = new FileInputStream(file);
            MultipartFile multipartFile = new MockMultipartFile("file", file.getName() + ".json", "multipart/form-data", IOUtils.toByteArray(input));
            //文件上传
            BosUploadResponseDTO dto = msFileUploadFeign.bosFileUpload(name, "xxx", multipartFile).getData();
            input.close();
        } catch (Exception e) {
            log.error("upload file error : {}", String.valueOf(e));
        }
        //删除文件
        boolean del = file.delete();
        log.info("file delete: {}", del);

        return RestResponseBody.success(resVo);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值