上传文件到阿里云OSS

这两天在学着使用阿里云,下面介绍下如何上传文件到阿里云OSS
首先需要进入控制台,在左边菜单中找到对象存储OSS,然后在右上角点击生成accessKey,如图
这里写图片描述
进入后生成accessKey,用于上传文件
下面看看代码如何写的
首先在工程中导入阿里云的sdk

<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>2.6.0</version>
</dependency>

然后加入配置文件aliyun.properties

//注意,这里可以在OSS中先建一个bucket,然后找到bucket的OSS外网域名,如我新建的bucket叫kevindai-pro,此bucket的OSS外网域名为kevindai-pro.oss-cn-shanghai.aliyuncs.com,那么这里的endpoint则写成http://oss-cn-shanghai.aliyuncs.com,可以根据实际情况来写
endpoint = http://oss-cn-shanghai.aliyuncs.com
accessKeyId = youraccesskeyId
accessKeySecret = youraccessKeySecret
bucketName = yourbucketName

使用代码如下

@Configuration
@PropertySource("aliyun.properties")
public class Upload2AliyunUtils {
    public static String accessKeyId;
    public static String accessKeySecret;
    public static String endpoint;
    public static String bucketName;

    @Value("${bucketName}")
    public void setBucketName(String bucketName) {
        Upload2AliyunUtils.bucketName = bucketName;
    }

    @Value("${endpoint}")
    public void setEndpoint(String endpoint) {
        Upload2AliyunUtils.endpoint = endpoint;
    }

    @Value("${accessKeyId}")
    public void setAccessKeyId(String accessKeyId) {
        Upload2AliyunUtils.accessKeyId = accessKeyId;
    }

    @Value("${accessKeySecret}")
    public void setAccessKeySecret(String accessKeySecret) {
        Upload2AliyunUtils.accessKeySecret = accessKeySecret;
    }

    public static String uploadObject(File file) throws FileNotFoundException {
        OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret);

        client.putObject(bucketName,file.getName(),new FileInputStream(file));
        Date expiration = new Date(new Date().getTime() + 3600 * 1000);// 生成URL
        URL url = client.generatePresignedUrl(bucketName, "字符串", expiration);
        client.shutdown();
        return url.toString();
    }

    public static String uploadObject(InputStream inputStream,String fileName){
        OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret);

        client.putObject(bucketName,fileName,inputStream);
        Date expiration = new Date(new Date().getTime() + 3600 * 1000);// 生成URL
        URL url = client.generatePresignedUrl(bucketName, "字符串", expiration);
        client.shutdown();
        return url.toString();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值