package com.sonic.shark.service;


import com.sonic.shark.enums.S3BizTypeMappingEnum;
import com.sonic.shark.enums.S3BucketNameEnum;

/**
 * @description: oss文件上传
 * @author: code
 **/
public interface OssService {


    /**
     * 上传文件
     *
     * @param bytes
     * @param s3BizTypeMappingEnum
     * @return
     */
    String uploadFileBytes(byte[] bytes, S3BizTypeMappingEnum s3BizTypeMappingEnum, String suffix);

    /**
     * 上传文件
     *
     * @param bytes
     * @param s3BucketNameEnum
     * @param path
     * @param fileName
     * @param publicRead
     * @return
     */
    String uploadByBytes(byte[] bytes, S3BucketNameEnum s3BucketNameEnum, String path, String fileName, boolean publicRead);

    /**
     * 复制文件（将源bucket中的文件复制到目标bucket中）
     *
     * @param sourceS3BucketNameEnum
     * @param sourceFilePath
     * @param targetS3BucketNameEnum
     * @param targetFilePath
     * @return
     */
    String copyFile(S3BucketNameEnum sourceS3BucketNameEnum, String sourceFilePath, S3BucketNameEnum targetS3BucketNameEnum, String targetFilePath);
}
