> 有客户提出:我希望我的文件能按照```yyyy/mm/dd```的方式分类存储,你的工程是否支持呢?
>支持!必须支持!话不多说,上代码吧,简简单单。
找到文件上传的方法
/**
* 上传文件
*
* @param bucketName bucket名称
* @param objectName 文件名称
* @param stream 文件流
* @param contextType 文件类型
* @return
* @throws Exception
*/
String putObject(String bucketName, String objectName, InputStream stream) throws Exception;
修改文件存储前缀
/**
* 上传文件
*
* @param bucketName bucket名称
* @param objectName 文件名称
* @param stream 文件流
* @param size 大小
* @param contextType 类型
* @throws Exception
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject">AWS
* API Documentation</a>
*/
public String putObject(String bucketName, String objectName, InputStream stream, long size,
String contextType) throws Exception {
//桶不存在 创建
createBucket(bucketName);
byte[] bytes = IOUtils.toByteArray(stream);
ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setContentLength(size);
objectMetadata.setContentType(contextType);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
// 获取当前日期并格式化为 "YYYY/MM/dd" 格式
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
String datePrefix = now.format(formatter);
// 将日期前缀添加到对象名称中
objectName = datePrefix + "/" + objectName;
// 上传
amazonS3.putObject(bucketName, objectName, byteArrayInputStream, objectMetadata);
return getObjectURL(bucketName, objectName, 7);
}
请求文件生成服务接口,测试效果
好啦,年月日的存储就是这样加一下存储路径就完美支持啦~🎉。
乐企文件生成,是对接乐企不可或缺的一环,有这部分需求的老板们,请疯狂滴滴我~
代码高度内聚,扩展性嘎嘎强,二开绝对友好!
工程包含文件生成以及存储;支持多类票种!满足您的各类场景。
远程支持工程部署,提供部署文档(Linux、win)、效果视频(有需要的铁子,私我获取)、测试报文(仅需切换特定要素即可实现各类票种测试)