使用阿里云OSS完成文件上传·

文件上传的几种方案简述

服务器上传模式

用户上传数据到服务器,然后服务器再上传到阿里云OSS上
优点:安全性比较高,逻辑简单
缺点:会导致服务器承担一些不必要的压力,对服务器资源损耗大,也成为了服务器性能的瓶颈因素之一

直接上传模式

用户通过APP/浏览器直接通过账号密码上传文件到OSS服务器
优点:实现简单,不会给服务器带来巨大开销
缺点:不安全,每次访问时携带了秘钥(JS代码中)

策略上传模式

首先用户先给服务器发送上传请求,然后服务器给客户端颁发证书(根据上传策略),然后客户端携带token后上传文件到OSS
优点:安全也不会给服务器带来巨大开销
缺点:实现相对前者来说比较麻烦

使用阿里云OSS完成文件上传

阿里云服务开通与Bucket创建

登录阿里云后,对OSS服务开通
然后创建一个Bucket在这里插入图片描述
在这里插入图片描述
具体的操作可以根据官方文档的操作指南来完成文档

在项目中运用

给项目中添加OSS依赖

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

这是官网完成简单文件上传的实例代码,可以看到Endpoint,accessKeyId,AccessKeySecret,bucket还有文件内容都是需要自己去指定的

// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";

// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

// 上传文件流。
InputStream inputStream = new FileInputStream("<yourlocalFile>");
ossClient.putObject("<yourBucketName>", "<yourObjectName>", inputStream);

// 关闭OSSClient。
ossClient.shutdown();

Endpoint相关信息,会根据地域不同而不同
在这里插入图片描述
Resource Access Management(资源访问管理)
在这里插入图片描述
创建子用户完成操作(为了安全考虑)
在这里插入图片描述
配置权限,因为此处要进行文件的上传,因此给FULL权限
在这里插入图片描述
对上面代码进行填充后进行测试
在这里插入图片描述
进入bucket管理台查看也是成功的
在这里插入图片描述
接下来就可以给项目的common工程导入上面依赖,然后创建一个util工具类,在使用的时候就直接一行代码使用,如下

 OSSUploadService.upLoadFile(inputStream,"test");

这样就完成了阿里云对象存储服务!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值