腾讯 COS 对象存储 - SDK 文件上传对接,示例代码

腾讯 COS 对象存储 - SDK 文件上传对接,示例代码


1、SDK

        <dependency>
            <groupId>com.qcloud</groupId>
            <artifactId>cos_api</artifactId>
            <version>5.6.24</version>
        </dependency>

        <dependency>
            <groupId>com.tencentcloudapi</groupId>
            <artifactId>tencentcloud-sdk-java</artifactId>
            <version>3.1.62</version><!-- 注:这里只是示例版本号,请获取并替换为 最新的版本号 -->
        </dependency>

2、工具类代码

import com.alibaba.fastjson.JSON;
import com.qcloud.cos.COSClient;
import com.qcloud.cos.ClientConfig;
import com.qcloud.cos.auth.BasicCOSCredentials;
import com.qcloud.cos.auth.COSCredentials;
import com.qcloud.cos.model.ObjectMetadata;
import com.qcloud.cos.model.PutObjectRequest;
import com.qcloud.cos.model.PutObjectResult;
import com.qcloud.cos.region.Region;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.Objects;
import java.util.UUID;

/**
 * @author Created by 谭健 on 2020/9/18. 星期五. 14:00.
 * © All Rights Reserved.
 */
public class COSUtils {
    
    


	// id 和 密钥  secretKey 这个
    private static final String SID = "****";
    private static final String SK = "****";

    private static final COSCredentials cred = new BasicCOSCredentials(SID, SK);

    private static final Region region = new Region("ap-nanjing");
    private static final ClientConfig clientConfig = new ClientConfig(region);

    public static final String DOMAIN = "https://public-1301924604.cos.ap-nanjing.myqcloud.com/";

    /**
     * 传到 COS
     *
     * @param inputStream 输入流
     * @param key         文件名
     */
    public static String upload(InputStream inputStream, String key) {
    
    
        //  生成 cos 客户端。
        COSClient cosClient = new COSClient(cred, clientConfig);
        // 指定要上传到的存储桶
        String bucketName = "public-1301924604";
        // 指定要上传到 COS 上对象键
        if (Objects.isNull(key)) {
    
    
            key = UUID.randomUUID().toString();
        }
        ObjectMetadata metadata = new ObjectMetadata();
        PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, inputStream, metadata);
        PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest);

        System.out.println(JSON.toJSONString(putObjectResult));
        return DOMAIN + key;
    }



}

3、使用示例

    public static void main(String[] args) {
    
    

        // 示例代码
        File localFile = new File("C:\\Users\\A-PC\\Desktop\\1.txt");

        try {
    
    
            // 返回文件地址
            String upload = upload(new FileInputStream(localFile), "1.txt");
            System.out.println(upload);
        } catch (FileNotFoundException e) {
    
    
            e.printStackTrace();
        }
    }

猜你喜欢

转载自blog.csdn.net/qq_15071263/article/details/108864321