@startuml
'https://plantuml.com/sequence-diagram

autonumber
participant "ec-*" as Service #green
participant "资源服务" as Resource #skyblue
participant "S3Client" as S3 #skyblue
participant "OssClient" as OSS #skyblue

Service -> Resource: ResourceApi#uploadImageByUrl（文件url、最大文件大小...）
activate Resource #FFBBBB
group 根据url下载图片
Resource -> Resource: 获取最大文件大小配置，如果传参为空则读配置文件
Resource -> Resource: 利用OkClient获取文件输入流
Resource -> Resource: 获取图片二进制数组
end
Resource -> Resource: 获取图片类型
Resource -> Resource: 检查类型
Resource -> Resource: 生成ImageStorageKey（S3和OSS公用）
group 上传图片
Resource -> S3: S3上传文件（同步）
Resource -> OSS: OSS上传文件（异步-自定义线程池）
end
Resource -> Resource: 根据key和cdnDomain拼接url
Resource --> Service: 返回 imageCdnUrl
deactivate Resource #FFBBBB
@enduml