OSS的简单使用

本文介绍了阿里云的Object Storage Service(OSS)云存储服务,它具有海量、安全、低成本、高可靠等特点,有与平台无关的RESTful API接口,服务持久性高。还提及了图片分享、热点视频等使用场景,以及初始化、创建存储空间等基本功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://help.aliyun.com/document_detail/84781.html?spm=a2c4g.11186623.4.1.7bef59aakn5jmz

Object Storage Service,简称 OSS,是阿里云提供的海量、安全、低成本、高可靠的云存储服务。

它具有与平台无关的RESTful API接口,能够提供99.999999999%的服务持久性。

使用场景:
图片分享
热点视频

下面介绍一些基本功能:

初始化 创建存储空间 上传文件 跨域访问设置 设置读写权限
1.初始化

创建一个OssClient,就可以很方便的调用OSS的方法。

   const string accessKeyId = "xxxxxxxxx";                  
   const string accessKeySecret = "xxxxxxxxxx"; 
   const string endpoint = "oss-cn-beijing.aliyuncs.com";           //OSS对应的区域地址
   private static OssClient ossClient = new OssClient(endpoint, accessKeyId, accessKeySecret);

2.创建存储空间

很简单,只需要调用OssClient.CreateBucket

   ossClient.CreateBucket("myBucket");      //新建一个Bucket

3.设置读写权限

调用OssClient.SetBucketAcl

 ossClient.SetBucketAcl("myBucket", CannedAccessControlList.PublicRead);  //设置为公共读

CannedAccessControlList有三个属性:Private(私有),PublicRead(公共读),PublicReadWrite(公共读写)
4.跨域访问设置
调用OssClient.SetBucketCors

var req = new SetBucketCorsRequest("myBucket");
   var rule = new CORSRule();
   //指定允许跨域请求的来源
   rule.AddAllowedOrigin("*");
   //指定允许的跨域请求方法(GET/PUT/DELETE/POST/HEAD)
   rule.AddAllowedMethod("POST");
   //控制在OPTIONS预取指令中Access-Control-Request-Headers头中指定的header是否允许。
   rule.AddAllowedHeader("*");

   req.AddCORSRule(rule);
   ossClient.SetBucketCors(req);

5.上传文件

调用OssClient.PutObject

   var result = ossClient.PutObject("myBucket", "111.mp4", @"d:\237badef-0f6d-4a8e-a634-a44c9704b6e6.mp4");
   Console.WriteLine(result.ETag);

6.列出存储空间中的所有文件

调用ossClient.ListObjects

   var listObjectsRequest = new ListObjectsRequest("myBucket");
   var result = ossClient.ListObjects(listObjectsRequest);
   Console.WriteLine("List objects succeeded");
   foreach (var summary in result.ObjectSummaries)
   {
       Console.WriteLine("File name:{0}", summary.Key);
   }

详细笔记-jsweb直接提交:
http://www.cnblogs.com/wumian1360/p/8486726.html

阿里事例:

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

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

// 上传文件。<yourLocalFile>由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt。
ossClient.putObject("<yourBucketName>", "<yourObjectName>", new File("<yourLocalFile>"));

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

记录;

@Autowired
	private OdsConfig config;

	public String put(String key, String name, InputStream io, long length, String contentType) {
		OSSClient client = new OSSClient(config.getEndpoint(), config.getAk(), config.getSk());
		ObjectMetadata meta = new ObjectMetadata();
		meta.setContentLength(length);
		meta.setContentType(contentType);
		String path = key + "/" + name;
		PutObjectResult result = client.putObject(config.getBucket(), path, io, meta);
		System.out.println(meta.getETag());
		System.out.println(result.getETag());
		return config.getBaseUrl() + "/" + path;
	}



@Test
	public void testPutObject() throws IOException {
		String filename = "dog.png";
		File file = new File("D:\\" + filename);
		InputStream io = FileUtils.openInputStream(file);
		long length = file.length();
		String url = ossService.put("animals", filename, io, length, "");
		System.out.println(url);
	}
### OSSClient 使用教程 #### 配置访问凭证 为了使用阿里云OSS SDK,必须先配置访问凭证。这包括设置`accessKeyId`、`accessKeySecret`以及指定`endpoint`。这些参数用于认证并建立与OSS服务器的安全连接。 ```java String accessKeyId = "<yourAccessKeyId>"; String accessKeySecret = "<yourAccessKeySecret>"; String endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; // 创建OSSClient实例 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); ``` 此部分代码展示了如何初始化一个`OSSClient`对象以便后续调用各种API方法[^1]。 #### Bucket管理 一旦有了有效的`OSSClient`实例,就可以执行诸如创建或删除存储空间(即Buckets)的操作了。下面是一个简单的例子说明怎样利用PHP脚本中的`OssClient`类来进行此类操作: ```php require_once __DIR__ . '/Common.php'; const endpoint = Config::OSS_ENDPOINT; const accessKeyId = Config::OSS_ACCESS_ID; const accessKeySecret = Config::OSS_ACCESS_KEY; const bucket = Config::OSS_TEST_BUCKET; $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); try { // 创建Bucket $result = $ossClient->createBucket($bucket); } catch (OssException $e) { printf(__FUNCTION__ . ": FAILED\n"); } ``` 这里展示的是基于预定义常量从外部文件加载配置信息的方式,并据此构建了一个新的`OssClient`实例来处理具体的业务逻辑[^2]。 #### Endpoint解析 关于`Endpoint`的选择非常重要,因为它决定了数据传输的具体路径和服务质量。根据官方文档描述,它代表了OSS对外提供的服务地址;而针对不同地理位置,则会有相应的域名差异。因此,在实际应用开发过程中应当仔细查阅最新的区域映射表以获取最合适的接入点[^3]。 #### 进阶特性支持 除了基本的对象上传下载之外,`OSSClient`还提供了丰富的高级功能接口供开发者灵活运用,比如批量操作、生命周期管理等。对于更复杂的应用场景而言,掌握这部分内容无疑会带来极大的便利性和效率提升。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值